Anda di halaman 1dari 139

SISTEM INFORMASI TUGAS AKHIR MAHASISWA D3 ILMU KOMPUTER

FAKULTAS MIPA UNIVERSITAS SUMATERA UTARA

TUGAS AKHIR

FADLY SISWANTO
062406059

PROGRAM STUDI D-3 ILMU KOMPUTER


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2009

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

SISTEM INFORMASI TUGAS AKHIR MAHASISWA D3 ILMU KOMPUTER


FAKULTAS MIPA UNIVERSITAS SUMATERA UTARA

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Ahli Madya

FADLY SISWANTO
062406059

PROGRAM STUDI D-3 ILMU KOMPUTER


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2009

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

PERSETUJUAN

Judul

Kategori
Nama
Nomor Induk Mahasiswa
Program Studi
Departemen
Fakultas

: SISTEM INFORMASI TUGAS AKHIR


MAHASISWA D3 ILMU KOMPUTER
FAKULTAS MIPA UNIVERSITAS
SUMATERA UTARA
: TUGAS AKHIR
: FADLY SISWANTO
: 062406059
: D3 ILMU KOMPUTER
: MATEMATIKA
: MATEMATIKA DAN ILMU
PENGETAHUAN ALAM (FMIPA)
UNIVERSITAS SUMATERA UTARA

Disetujui oleh :

Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU
Ketua,

Dr. Saib Suwilo, M. Sc.


NIP. 131 796 149

Dosen Pembimbing

Drs. Marihat Situmorang, M. Kom.


NIP. 131 859 487

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

PERNYATAAN

SISTEM INFORMASI TUGAS AKHIR MAHASISWA D3 ILMU KOMPUTER


FAKULTAS MIPA UNIVERSITAS SUMATERA UTARA

TUGAS AKHIR

Saya mengakui bahwa tugas akhir ini adalah hasil kerja saya sendiri, kecuali beberapa
kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan,

Juni 2009

FADLY SISWANTO
062406059

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

PENGHARGAAN

Puji da syukur penulis panjatkan kehadirat Allah SWT atas segala berkat dan rahmat-Nya
sehingga penulis dapat menyelesaikan Tugas Akhir ini dengan baik dan dalam waktu
yang telah ditetapkan.
Ucapan terima kasih penulis sampaikan kepada Drs. Marihat Situmorang, M.
Kom selaku pembimbing yang telah meluangkan waktunya dan membantu penulis dalam
penyelesaian tugas akhir ini. Ucapan terima kasih juga ditujukan kepada Bapak Dr. Saib
Suwilo, M. Sc selaku Ketua Departemen Matematika, Bapak Prof. Eddy Marlianto,M. Sc
dan Dr. Sutarman, M.Sc selaku Dekan dan Pembantu Dekan I FMIPA USU, semua dosen
dan pegawai FMIPA USU, dan teman-teman kuliah Tengku Muhammad Hidayat, Aries
Fatahillah, Dina Ranggasari, Pirnando Saragih, Yudha yang telah memberikan semangat
dan doa, teman-temanku di dunia maya, teman-teman SMA yang tak pernah terlupakan
hingga saat ini, serta seluruh mahasiswa komputer angkatan 2006. Akhirnya, tidak
terlupakan kepada kedua orang tua tercinta Ayahanda Alm.Rusman Kunting dan Ibunda
Ngadiem yang telah memberikan dorongan, nasehat, kasih sayang, doa, dukungan
material dan spritual, tak lupa juga kepada abangda Hendra Budi Syahputra yang telah
mendukung penulis dalam pembuatan tugas akhir ini, dan semua ahli keluarga yang
selama ini memberikan bantuan dan dorongan yang diperlukan. Semoga amal baik
mereka mendapatkan balasan yang setimpal dari Allah SWT, Amin.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

ABSTRAK

Tugas akhir ini bertujuan membangun sebuah sistem informasi yang berbasis web. Sistem
perancangan dalam pembuatan website Sistem Informasi Tugas Akhir di FMIPA USU ini
dikembangkan dengan menggunakan beberapa software yakni Macromedia Dreamweaver
8, XAMPP yang merupakan gabungan dari Apache Web Server, PHP dan MySQL.
Dengan menggunakan Macromedia Dreamweaver 8 maka pengerjaan website akan lebih
cepat dan mudah. Adapun tabel-tabel yang dipakai dalam pembuatan sistem informasi
tugas akhir ini adalah tabel judul tugas akhir, tabel pengunjung, tabel admin. Semua tabel
ini nantinya digunakan untuk menampung data-data yang diperlukan dalam pembangunan
website Sistem Informasi Tugas Akhir Fakultas MIPA Jurusan D3 Ilmu Komputer USU.
Dengan adanya aplikasi pencarian judul tugas akhir ini para mahasiswa D3 Ilmu
Komputer FMIPA USU dapat lebih mudah dalam pemilihan judul-judul tugas akhir.
Sebelum adanya aplikasi ini, mahasiswa bingung dalam pencarian judul tugas akhir yang
akan mereka perbuat dan pegawai FMIPA yang memegang peranan dalam pengumpulan
tugas akhir ini juga mengalami kesulitan, dikarenakan adanya laporan tugas akhir
mahasiswa yang ilang. Dengan adanya aplikasi ini para mahasiswa tidak lagi direpotkan
dengan pemilihan judu-judul tugas akhir, dan pegawai yang mengurus masalah tugas
akhir juga akan lebih mudah dalam melihat dan mencari judul-judul mahasiswa D3 Ilmu
Komputer FMIPA USU Medan.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

DAFTAR ISI

Halaman
Persetujuan
Pernyataan
Penghargaan
Abstrak
Daftar Isi
Daftar Gambar
Daftar Tabel

ii
iii
iv
vi
viii
ix

Bab 1 Pendahuluan
1.1 Latar Belakang
1.2 Identifikasi masalah
1.3 Batasan Masalah
1.4 Tujuan
1.5 Metode Penelitian
1.6 Tinjauan Pustaka
1.7 Sistematika Penulisan

1
2
3
3
3
4
5

Bab 2 Landasan Teori


2.1 Konsep Dasar Data, Informasi, dan Sistem Informasi
2.1.1. Data
2.1.2. Informasi
2.1.3. Sistem Informasi
2.1.3.1 Konsep Dasar Sistem
2.1.3.2 Konsep Dasar Informasi
2.1.3.3 Konsep Dasar Sistem Informasi
2.2 Pengenalan Internet
2.2.1. Network
2.3 Pengenalan HTML
2.3.1. Pendahuluan HTML
2.3.2. Bagian-bagian HTML
2.4 Pengenalan PHP
2.4.1. Sejarah PHP
2.4.2. Kelebihan dan Kelemahan PHP
2.4.3. Penggabungan Script HTML dan PHP
2.5 Pengenalan MySQL
2.5.1. Sejarah MySQL
2.6 Mengenal Macromedia Dreamweaver
2.6.1. Memulai Dreamweaver

7
7
8
9
9
11
11
12
13
13
13
14
15
15
16
17
18
18
20
21

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

2.6.2. Area Kerja pada Dreamweaver


2.6.3. Menu Bar Area Kerja

21
22

Bab 3 Analisis dan Perancangan Sistem


3.1 Analisis Sistem
3.2 Perancangan Sistem
3.2.1. Perancangan Keluaran (Output)
3.2.2. Perancangan Masukan (Input)
3.2.3. Perancangan Database
3.2.4. Perancangan File
3.2.5. Perancangan Komunikasi Data
3.2.6. Perancangan Data Flow Diagram (DFD)
3.2.7. Perancangan Flowchart (Diagram Alir)
3.3 Algoritma Program
3.3.1. Algoritma Menu Utama
3.3.2. Algoritma Menu Admin

24
25
25
26
27
29
30
31
33
34
34
35

Bab 4 Implementasi Sistem


4.1 Pengertian Implementasi Sistem
4.2 Tujuan Implementasi Sistem
4.3 Instalasi Apache, PHP, dan MySQL
4.3.1 Instalasi Xampp 1.7.1
4.3.2 Menjalankan Xampp 1.7.1
4.4 Tampilan Halaman Website

36
37
37
38
41
42

Bab 5 Kesimpulan dan Saran


5.1 Kesimpulan
5.2 Saran

44
45

Daftar Pustaka
Lampiran

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

DAFTAR GAMBAR

Halaman
Gambar 2.1 Komponen-komponen dari suatu sistem
Gambar 2.2 Komponen Sistem Informasi
Gambar 3.1 Perancangan keluaran (output)
Gambar 3.2 Perancangan masukan (input)
Gambar 3.3 flowchart login admin
Gambar 3.4 flowchart pengunjung
Gambar 4.1 Xampp-win32-1.7.1-installer
Gambar 4.2 Pilihan Bahasa Instalasi Xampp
Gambar 4.3 Setup Wizard
Gambar 4.4 Lokasi Instalasi
Gambar 4.5 Xampp Option
Gambar 4.6 Setup selesai
Gambar 4.7 XAMPP Control Panel
Gambar 4.8 Menjalankan Xampp
Gambar 4.9 tampilan utama website

10
12
26
27
33
33
39
39
40
40
41
41
42
42
43

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

DAFTAR TABEL

Halaman
Tabel 3.1 Tabel admin
Tabel 3.2 Tabel data_mahasiswa
Tabel 3.3 Tabel judul
Tabel 3.4 Simbol-simbol DFD

28
28
29
32

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

BAB 1

PENDAHULUAN

1.1 Latar Belakang

Informasi merupakan salah satu kebutuhan di dalam suatu instansi, perusahaan,


organisasi, lembaga serta lingkungan yang berada di luar sistem. Informasi dianggap
sangat penting karena dengan adanya informasi dapat menambah pengetahuan,
mengurangi ketidakpastian dan resiko kegagalan serta dapat membantu para pemimpin
dalam mengambil suatu kesimpulan dan keputusan yang efektif dan efisien.

Perkembangan teknologi dewasa ini semakin pesat dan semakin akrab menyentuh
kehidupan manusia. Manusia yang dalam hal ini sebagai user menginginkan untuk dapat
memperoleh informasi yang lengkap dan akurat. Disinilah peranan teknologi sangat
dibutuhkan yaitu dalam upaya mewujudkan keinginan manusia tersebut. Karena
informasi dirasakan sangat penting dalam pengambilan keputusan dan dalam pencapaian
suatu tujuan.

Universitas Sumatera Utara (USU) merupakan salah satu lembaga pendidikan


yang membutuhkan suatu sistem untuk dapat mempercepat pekerjaan dalam lembaga.
Menyikapi hal tersebut, penulis mencoba merancang suatu sistem berbasis web mengenai
judul-judul tugas akhir mahasiswa pada jurusan D3 Ilmu Komputer USU dan internet
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

dijadikan sebagai media penghubungnya. Media internet dijadikan sebagai sarana untuk
dapat mempublikasikan judul-judul tugas akhir D3 Ilmu Komputer USU kepada
masyarakat luas pada umumnya dan keluarga besar FMIPA USU Medan pada khususnya.

Dengan diselesaikannya sistem informasi tugas akhir berbasis web ini nantinya
dapat bermanfaat dan memberikan bantuan dengan cepat serta efisien, sehingga
pemanfaatan sumber daya komputer dapat digunakan dengan semaksimal mungkin bagi
siapa saja yang membutuhkannya terutama bagi penulis. Dengan uraian tersebut, penulis
berkeinginan membuat Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer
Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, sebagai
judul Tugas Akhir.

1.2 Identifikasi Masalah

Dalam informasi tugas akhir ini FMIPA USU mengalami beberapa masalah, diantaranya
: adanya judul tugas akhir yang sama pada setiap tahunnya, adanya kehilangan laporan
tugas akhir karena kelalaian mahasiswa itu sendiri, sehingga mahasiswa tersebut tidak
mengingat apa judul dari tugas akhir mereka, banyaknya mahasiswa yang tidak
mengetahui peraturan tugas akhir, sehingga membuat peraturan sendiri. Oleh karena itu,
penulis mencoba merancang sebuah sistem informasi tugas ahhir berbasis web untuk
memberikan informasi yang komputerisasi dan dapat mempercepat pekerjaan dalam
pencariannya

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

1.3 Batasan Masalah

Sistem informasi tugas akhir ini memiliki cakupan yang luas. Untuk itu penulis
melakukan pembatasan masalah hanya pada pencarian judul-judul tugas akhir, peraturan
dalam penulisan tugas akhir, dan panduan dalam penulisan tugas akhir tersebut.
.

1.4 Tujuan

Tujuan pembuatan aplikasi ini adalah :


1. Mengontrol sistem informasi tugas akhir FMIPA jurusan D3 Ilmu Komputer USU.
2. Mempercepat dalam pencarian judul tugas akhir.
3. Membangun aplikasi yang sesuai guna mendukung kemajuan, yang dapat
mempermudah dalam membuat dokumentasi sistem informasi tugas akhir FMIPA
jurusan D3 Ilmu Komputer USU.

1.5 Metode Penelitian

Metode penelitian adalah cara suatu cara atau teknik yang sistematis untuk mengerjakan
atau menyelesaikan sesuatu. Adapun metodologi penelitian yang digunakan penulis untuk
menyelesaikan berbagai permasalahan yang terjadi diatas adalah:

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

1. Studi Lapangan
Merupakan metode yang dilakukan oleh penulis secara langsung ke lapangan yang
merupakan sumber data yang diperoleh sesuai dengan kebutuhan yang digunakan.
2. Wawancara
Pengumpulan data dengan wawancara ini digunakan untuk meyakinkan bahwa data yang
diperoleh benar-benar akurat.

3. Studi Literatur
Merupakan metode yang dilakukan oleh penulis dengan mengunjungi dan
mempelajari website atau situs-situs yang berhubungan dengan penelitian ini.

1.6 Tinjauan Pustaka

PHP singkatan dari PHP Hypertext Preprocessor. PHP merupakan bahasa berbentuk
skrip yang ditempatkan dalam server dan diproses di server. Hasilnya akan dikirim ke
klien, tempat pemakai menggunakan browser. Secara khusus PHP dirancang untuk
membentuk web dinamis. Artinya, PHP dapat membentuk suatu tampilan berdasarkan
permintaan terkini. Misalnya, Anda bisa menampilkan database ke halaman Web. Pada
prinsipnya PHP mempunyai fungsi yang sama dengan skrip-skrip seperti ASP(Active
Server Page), Cold Fusion, ataupun Perl.
(Abdul Kadir, Dasar Pemograman WEB Dinamis menggunakan PHP, 2002)

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Dewasa ini SQL merupakan standar yang digunakan untuk mengakses database
relasional. Banyak DBMS (Data BaseManagement System) yang mendukung SQL untuk
mengakses database. Database dapat dianggap sebagai suatu penyusunan data yang
terstruktur yang disimpan dalam media pengingat (hard disk) yang tujuannya adalah agar
data tersebut dapat diakses dengan mudah dan cepat.
(Abdul Kadir, Penuntun Praktis Belajar SQL, 2005)

PHP sebagai bahasa pemograman berbasis web, mempunyai lebih banyak kelebihan
dibanding bahasa pemograman gratis sejenis lainnya, PHP juga mempunyai fungsi-fungsi
yang cukup lengkap, multiflatform serta mampu berinteraksi dengan berbagai macam
database. Pada PHP, banyak komponen atau fungsi yang dapat digunakan untuk berbagai
macam kebutuhan. Tidak hanya FTP, fungsi mengakses email dapat pula digunakan
dengan gratis. Keunggulan PHP yang lain adalah dukungan terhadap berbagai jenis web
server.
(M.Syafii, Panduan Membuat Aplikasi Database dengan PHP 5, 2005)

1.7 Sistematika Penulisan

Secara garis besar tugas akhir ini terdiri dari 5 (lima) bab dan beberpa lampiran. Adapun
setiap bab dan sub-sub bab yang terdiri dari :

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

BAB 1

: PENDAHULUAN
Bab ini akan membahas latar belakang tugas akhir, identifikasi
masalah, batasa masalah, tujuan, metode penelitian, tinjauan pustaka,
dan sistematika penulisan.

BAB 2

: LANDASAN TEORI
Pada Bab ini penulis menguraikan sekilas tentang konsep dasar data,
informasi dan sistem informasi, pengenalan internet, HTML, PHP,
MySQL dan Macromedia Dreamweaver 8.

BAB 3

: ANALISIS DAN PERANCANGAN SISTEM


Bab ini berisi analisa ruang lingkup website, jenis file yang digunakan,
analisa kebutuhan database, perancangan sistem, gambaran umum
pembuatan program dan perancangan halaman website

BAB 4

: IMPLEMENTASI SISTEM
Pada bab ini berisi uraian pengertian implementasi sistem,
komponen dalam implementasi sistem, dan instalasi XAMPP.

BAB 5

: PENUTUP
Berisikan kesimpulan dan saran penulisan tugas akhir.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

BAB 2

LANDASAN TEORI

2.1 Konsep Dasar Data, Informasi dan Sistem Informasi


2.1.1. Data

Data dapat didefenisikan sebagai deskripsi dari suatu dan kejadian yang kita hadapi (AlBahra Bin Ladjamudin, 2005, Hal:8). Data dapat berupa catatan-catatan dalam kertas,
buku, atau tersimpan sebagai file dalam database. Data akan menjadi bahan dalam suatu
proses pengolahan data. Oleh karena itu, suatu data belum dapat berbicara banyak
sebelum diolah lebih lanjut.

Proses pengolahan data terbagi menjadi tiga tahapan, yang disebut dengan siklus
pengolahan data (Data Processing Cycle) yaitu :
1. Pada tahapan Input
Yaitu dilakukan proses pemasukan data ke dalam komputer lewat media input (Input
Devices).
2. Pada tahapan Processing

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Yaitu dilakukan proses pengolahan data yang sudah dimasukkan, yang dilakukan oleh
alat

pemroses (Process Devices)

yang

dapat

berupa proses perhitungan,

perbandingan, pengendalian, atau pencarian distorage.

3. Pada tahapan Output


Yaitu dilakukan proses menghasilkan output dari hasil pengolahan data ke alat output
(Output Devices) yaitu berupa informasi.

2.1.2 Informasi

Informasi merupakan data yang telah diolah sedemikian rupa sehingga memiliki makna
tertentu bagi penggunanya. (Adi Nugroho, 2004, hal:6)

Untuk memperoleh informasi, diperlukan adanya data yang akan diolah dan unit
pengolah. Agar informasi yang dihasilkan lebih berharga, maka informasi harus
memenuhi kriteria sebagai berikut :
1. Informasi harus akurat, sehingga mendukung pihak manajemen dalam mengambil
keputusan.
2.

Informasi harus relevan, benar-benar terasa manfaatnya bagi yang membutuhkan.

3. Informasi harus tepat waktu, sehingga tidak ada keterlambatan pada saat
dibutuhkan.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Kegunaan informasi adalah untuk mengurangi ketidakpastian di dalam proses


pengambilan keputusan tentang suatu keadaan. Informasi yang digunakan di dalam suatu
sistem informasi umumnya digunakan untuk beberapa kegunaan. Informasi digunakan
tidak hanya digunakan oleh satu orang pihak dalam suatu organisasi. Nilai sebuah
informasi ditentukan dari dua hal yaitu manfaat dan biaya untuk mendapatkannya. Suatu
informasi dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya
untuk mendapatkan informasi tersebut.
2.1.3 Sistem Informasi
2.1.2.1 Konsep Dasar Sistem

Terdapat dua kelompok di dalam mendefenisikan sistem, yaitu yang menekankan pada
prosedurnya dan yang menekankan pada komponennya atau elemennya.

Pendekatan sistem yang lebih menekankan pada prosedurnya mendefenisikan


sistem sebagai berikut :
Suatu sistem merupakan suatu jaringan kerja dari prosedur-prosedur yang saling
berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau
menyelesaikan suatu sasaran tertentu. (Al-Bahra Bin Ladjamudin, 2005, hal:2)

Pendekatan sistem yang lebih menekankan pada komponen atau elemennya


mendefenisikan sistem sebagai berikut :
Sistem merupakan bagian-bagian yang saling berkaitan dan beroperasi bersama untuk
mencapai beberapa sasaran atau maksud. (Al-Bahra Bin Ladjamudin , 2005, hal:3)

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Sistem itu sendiri memiliki karakteristik atau beberapa sifat tertentu, yaitu
mempunyai komponen (components), batas sistem (boundary), lingkungan luar sistem
(environments), penghubung (interfce), masukan (input), keluaran (output), pengolah
(process), dan sasaran suatu tujuan (goal). Adapun penjelasan dari karakteristik suatu
sistem diatas adalah sebagai berikut :
1. Komponen sistem (Components)
Bagia sistem yang saling berinteraksi dan membentuk satu kesatuan. Komponen atau
elemen sistem dapat berupa subsistem atau beberapa bagian sistem.

2. Batas Sistem (Boundary)


Daerah yang membatasi antara suatu sistem dengan lingkungannya atau dengan
sistem lainnya. Batas sistem inilah yang membuat sistem dipandang sebagai satu
kesatuan.
3. Lingkungan luar sistem (Environments)
Segala sesuatu yang berada di luar sistem yang mempengaruhi sistem. Lingkungan
luar sistem dapat bersifat menguntungkan sistem atau merugikan sistem.
4. Penghubung sistem (Interface)
Merupakan media penghubung antara satu subsistem dengan subsistem lainnya.
Penghubung inilah yang menyebabkan beberapa subsistem berintegrasi dan
membentuk satu kesatuan.
5. Masukan sistem (Input)
Sesuatu yang dimasukkan ke dalam sistem yang berasal dari lingkungan.
6. Keluaran sistem (Output)
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Suatu hasil dari proses pengolahan sistem yang dikeluarkan ke lingkungan.


7. Pengelolahan sistem (Process)
Bagian dari sistem yang mengubah masukan menjadi keluaran.
8. Sasaran sistem (Objectives) atau tujuan (Goal)

INPUT

PROCESSING

OUTPUT

Gambar 2.1 Komponen-komponen dari suatu sistem

Sasaran sistem adalah sesuatu yang menyebabkan mengapa sistem itu dibuat atau ada.
Sustu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.

2.1.1.1. Konsep Dasar Informasi

Informasi dalam sebuah organisasi sangat penting peranannya. Suatu sistem yang kurang
mendapatkan informasi akan menjadi lemah dan akhirnya berakhir. Informasi itu sendiri
dapat didefenisikan sebagai berikut :
Informasi merupakan data yang diolah menjadi bentuk yang lebih berguna dan lebih
berarti bagi yang menerimanya.

Sumber dari informasi adalah data. Data merupakan bentuk jamak dari bentuk
tunggal data atau data item. Data adalah kenyataan yang menggambarkan sesuatu yang
terjadi pada saat tertentu.

2.1.3.3 Konsep Dasar Sistem Informasi

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Informasi dapat diperoleh dari sistem informasi (Information System) atau disebut juga
dengan processing system atau information generating system.

Dari uraian diatas maka sistem informasi dapat diartikan sebagai berikut :
1. Suatu sistem yang dibuat oleh manusia yang terdiri dari komponen-komponen dalam
organisasin untuk mencapai suatu tujuan tertentu yaitu menyajikan informasi.
2. Sekumpulan prosedur organisasi yang pada saat dilaksanakan akan memberikan
informasi bagi pengambil keputusan atau untuk mengendalikan organisasi.

Sistem informasi sendiri memiliki sejumlah komponen tertentu, yang terdiri dari
beberapa komponen yang berbeda yaitu, manusia, data, hardware, dan software. Sebagai
suatu sistem, setiap komponen tersebut berinteraksi satu dengan lainnya membentuk satu
kesatuan untuk mencapai sasarannya. Berikut beberapa komponen dapat dilihat pada
gambar 2.2.

Hardware

System
Software

Data

User

Gambar 2.2 Komponen sistem informasi

2.2 Pengenalan Internet

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Internet (Interconnected Netwoek) merupakan jaringan komputer yang terdiri dari ribuan
jaringan komputer independen yang dihubungkan satu dengan yang lainnya. Secara
etimologis, internet berasal dari bahasa inggris yakni inter berarti antar dan net berarti
jaringan sehingga dapat diartikan hubungan antar jaringan.

Jaringan komputer ini terdiri dari lembaga pendidikan, pemerintahan, militer,


organisasi dan bisinis dan organisasi lainnya. Internet atau nama pendeknya Net
merupakan jaringan komputer yang tersebar didunia. Sampai saat ini internet sudah
menghubungkan lebih dari 100000 jaringan komputer dengan pemakai lebih dari 100 juta
orang. Internet adalah jaringan luas di komputer yang lazim disebut dengan world wide
network secara lebih ringkas internet adalah sumber informasi dan alat komunikasi serta
hiburan.

Jaringan internet menyediakan beberapa aplikasi yang dapat digunakan oleh user
internet :
E-mail, mailing list, newsgroup, file transfer protocol (FTP), gopher, telnet, talk, chat,
world wide web.

2.2.1 Network

Network adalah jaringan dari sistem komunikasi data yang melibatkan sebuah atau lebih
sistem komputer yang dihubungkan dengan jalur transmisi alat komunukasi membentuk
satu sistem. Dengan network, komputer yang satu dapat menggunakan data di komputer
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

lain, dapat mencetak laporan di printer lain, dapat memberikan berita ke komputer lain
walaupun berlainan area. Network merupakan cara yang sangat berguna untuk
mengintegrasikan sistem informasi dan menyalurkan arus informasi dari satu area ke area
lainnya.

2.3 Pengenalan HTML


2.3.1 Pendahuluan HTML

HTML merupakan kependekan dari Hyper Text Markup Language. Dokumen HTML
adalah file teks murni yang dapat dibuat dengan editor teks sembarang. Dokumen ini
dikenal sebagai web page. Dokumen HTML merupakan dokumen yang disajikan dalam
browser web surfer. Dokumen ini umumnya berisi informasi ataupun intyerface aplikasi
di dalam internet. HTML sendiri adalah suatu dokumen teks biasa yang mudah
dimengerti dibanding bahasa pemrograman lainnya, dan karena bentuknya itu maka
HTML dapat dibaca oleh sebagai platform seperti : windows, linux, macintosh. Kata
Markup Language pada HTML menunjukkan fasilitas yang berupa tanda tertentu
dalam script HTML dimana kita bisa mengatur judul, garis, tabel, gambar, dan lain-lain
dengan perintah yang telah ditentukan pada elemen HTML.
HTML sendiri dikeluarkan oleh W3C (World Wide Web Consortium), setiap
terjadi perkembangan level HTML, harus dievaluasi ketat dan disetujui oleh W3C.

2.3.2 Bagian-bagian HTML

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

HTML terdiri dari beberapa bagian yang fungsinya sebagai penanda suatu kelompok
perintah tertentu, misalnya kelompok perintah form yang ditandai dengan kode <form>,
judul dengan <title> dan senagainya. Untuk lebih lanjut mengenai bagian-bagian HTML
perhatikan skema di bawah ini :

<html>
<head>
<title> ... </title>
</head>
<body>
... isi dari halaman web ...
</body>
</html>

Keterangan :
1. Dokumen HTML selalu diawali dengan tanda tag pembuka <html> dan diakhiri
dengan tanda tag penutup </html>
2. Pada elemen head <head></head>, dapat kita sisipkan kode-kode untuk menuliskan
keterangan tentang dokumen HTML. Atau dapat juga kita sisipkan script-script
pemrograman web seperti JavaScript, VBScript, atau CSS untuk menambah daya
tarik pada situs yang kita buat agar lebih menarik dan dinamis.
3. Elemen body <body></body> berisi tag-tag untuk isi atau layout tampilan situs kita,
seperti : <font></font>, <table></table>, </form></form>. Jadi jelas bahwa elemen
adalah suatu bagian yang besar yang terdiri dari kode-kode tag tersebut. Sedangkan
tag hanya merupakan bagian dari elemen.Tag adalah kode-kode yang digunakan

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

untuk men-setting dokumen HTML. Secara garis besar bentu umun tag adalah
sebagai berikut :
<tag-awal> TEKS <.tag-akhir>
Namun ada juga tag yang tidak perlu ada penutup seperti <br>, <hr>, <img>, dan
lain-lain.

2.4

Pengenalan PHP

2.4.1 Sejarah PHP

PHP merupakan bahasa pemrograman web yang di desain untuk web. PHP pertama kali
dibuat oleh Rasmus Lerdorf pada tahun 1995. Jika dilihat dari versi pertamanya bahwa
PHP terdiri dari sekumpulan script PERL yang digunakan untuk mengolah data form dan
website. Kemungkinan bahwa PHP singkatan dari Perl Hypertext Preprocessor. Pada
awalnya PHP bernama FI (Form Interpreted). Setelah Rasmus melepaskan kode
sumbernya, maka terbentuklah nama PHP. Sejak itulah PHP bersifat open source.

Pada bulan November 1997, PHP Versi 2.0 berhasil dirilis. Pada rilis ini
interpreter sudah diimplementasikan dalam bahasa C. Masih pada tahun yang sama
sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih,
lebih baik dan lebih cepat. Pada bulan Juni 1998 Zend kembali merilis interpreter baru
untuk PHP dan meresmikan nama rilis tersebut menjadi PHP 3.0.

Kemudian pada pertengahan tahun 1999, Zend merilis kembali interpreter PHP
baru dengan nama PHP 4.0. PHP 4.0 ini merupakan versi PHP yang paling populer
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

dikalangan programmer website. Alasan yang menjadi versi 4.0 ini begitu diminati oleh
adanya kemampuan untuk membangun aplikasi website yang kompleks, namun tetap
stabil dalam kecepatan proses dan stabilitas yang tinggi.

Mulai pada bulan Juni 2004, PHP 5.0 kembali dirilis oleh Zend. Versi adalah versi
mutakhir dari PHP. Pada versi ini juga dikenalkan model pemrograman berorientasi objek
baru untuk menjawab perkembangan bahasa pemrograman kearah pemrograman berbasis
objek.

2.4.2 Kelebihan dan Kelemahan PHP

Diantara maraknya pemrograman server web saat ini adalah ASP yang berkembang
menjadi ASP.NET, JSP, CFML, dan PHP. Jika dibandingkan diantara tiga terbesar
pemrograman web server diatas, terdapat kelebihan dari PHP itu sendiri, yaitu :
1. PHP merupakan sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam
penggunaannya. Tidak seperti halnya bahasa pemrograman aplikasi seperti Visual
Basic dan sebagainya.
2. PHP dapat berjalan pada web server yang dirilis oleh Microsoft, seperti IIS atau PWS
juga pada Apache yang bersifat open source.
3. Karena sifatnya open source, maka perubahan dan perkembangan interpreter pada
PHP lebih cepat dan mudah, karena banyak milis-milis dan developer yang siap
membantu pengembangannya.
4. Jika dilihat dari segi pemahaman, PHP memiliki referensi yang begitu banyak
sehingga sangat mudah dipahami.
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

5. PHP dapat berjalan pada tiga operating sistem : Linux, Unix, Windows serta dapat
juga dijalankan secara runtime pada suatu console.

Adapun kelemahan dari PHP ini adalah :


1. Tidak ideal untuk pengembangan skala besar.
2. Tidak memiliki sistem pemrograman berorientasi objek yang sesungguhnya (sampai
versi 4 saja). Namun pada versi PHP 5.0 sudah dilengkapi OPP yang sesungguhnya.

2.4.3 Penggabungan Script PHP dan HTML

Bahasa pemrograman PHP dapat digabungkan dengan HTML dengan terlebih dahulu
memberikan tanda tag buka dilanjutkan tanda tanya (<?) kemudian ditutup dengan tanda
tanya dilanjutkan tanda tag tutup (?>). Ada dua tipe penggabungan antara PHP dan
HTML yaitu :
1. Embedded Script
Yakni penulisan tag PHP di sela-sela tag HTML. Dengan cara lain penulisan tag PHP
digunakan untuk mengapit bagian-bagian tertentu dalam dokumen yang memerlukan
script PHP untuk proses di dalam server. Embedded Script menempatkan PHP
sebagai bagian dari script HTML.
Contoh penulisan Embedded Script yaitu :
<html>
<head>
<title> Testing </title>
</head>
<body>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<? echo Halo Dunia; ?>


</body>
</html>

2. Non Embedded Script


Yakni cara penulisan tag PHP dibagian paling awal dan paling akhir dokumen.
Dengan cara lain, penulisan tag PHP digunakan untuk mengawali dan mengakhiri
keseluruhan bagian dalam sebuah dokumen. Non Embedded Script menempatkan
script HTML sebagai bagian dari script PHP.
Contoh penulisan Non Embedded Script yaitu :
<?
echo <html>;
echo <head>;
echo <title> Testing </title>;
echo </head><body>;
echo Hello Dunia;
echo <body>;
echo <html>;
?>

2.5 Pengenalan MySQL


2.5.1 Sejarah MySQL

MySQL dikembangkan oleh sebuah perusahaan Swedia yang pada saat itu bernama TcX
Data Konsult AB, dan pada akhirnya berubah nama menjadi MySQL AB. Sekitar tahun
1994-1995, TcX membuat database MySQL untuk mengembangkan aplikasi web bagi
klien-nya. TcX merupakan perusahaan pengembang software dan konsultan database.
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Michael Widenius atau disebut Monty adalah pengembang satu-satunya di TcX.


Dengan berlandaskan pada aplikasi UNIREG dan ISAM yang dibuat sendiri, dia
memutuskan untuk mencari antarmuka SQL yang sangat tepat untuk ditempelkan di
atasnya. Awalnya dia menggunakan mSQL singkatan dari mini SQL (Structure Query
Language). Dia beranggapan bahwa mSQL merupakan satu-satunya kode database open
source yang tersedia dan cukup sederhana saat itu. Namun setelah iya melakukan uji
coba, ternyata mSQL tidak cukup cepat dan leksibel. Dan pada versi pertama mSQL tidak
memiliki indeks. Setelah itu, dia menghubungi David Hughes sebagai pembuat mSQL,
namun karena David tengah sibuk dalam mengembangkan versi 2 mSQL, maka Monty
memutuskan untuk membuat sendiri mesin SQL yang antarmuka mirip denagn SQL,
namun memiliki kemampuan yang lebih sesuai kebutuhkan, sehingga lahirlah MySQL.

Terdapat perbedaan pendapat seputar asal muasal nama MySQL itu sendiri, ada
yang mengataka bahwa nama MySQL diambil dari nama depan dan belakang sebutan
dari Michael Widenius, yaitu Monty. Adapula yang mengatakan kata My itu sendiri
diambil dari nama putri Monty, yang bernama My. Jika kita amati source code MySQL
itu sendiri, prefiks My memang sudah menjadi prefiks umum apabila seseorang ingin
membuat kode kustom sendiri.

Pada bulan Mei 1996, versi 1.0 berhasil dirilis secara terbatas hanya untuk empat
orang saja. Namun dibulan Oktober pada tahun yang sama versi 3.1.0 dilepas ke public.
Namun mula-mula kode ini tidak diberikan dibawah lisensi GPL, melainkan lisensi
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

khusus yang intinya kurang lebih seperti ini : Source code MySQL dapat dilihat dan
gratis, serta server MySQL dapat dipakai tanpa : mengemas dan menjual MySQL atau
menyertakan MySQL dalam program komersial lain), Anda harus bayar lisensi.

Pada bulan Juni 2000, MySQL AB mengumumkan bahwa sejak versi 3.23.19,
MySQL adalah merupakan software database yang bebas berlisensi GPL. Pada versi
awal, MySQL hanya berjalan di Linux dan Solaris dan juga masih banyak terdapat
kelemahan walau sudah dapat digunakan untuk aplikasi web sederhana, namun belum
memadai untuk aplikasi bisnis. Contoh-contoh kelemahannya adalah sebagai berikut :

JOIN sederhana sudah ada, namun belum dilengkapi dengan HAVING. Tipe data
dan TIMESTAMP dan kolom auto-update, namun tidak terdapat system-generated
number

(sequence),

baru

akhir

tahun

1996

ditambah

modifer

kolom

AUTO_INCREMENT. Kelemahan berikutnya yaitu terdapat LIMIT dan GROUP BY


dan ORDER BY yang masih memiliki keternatasan.

Pada tahun 1998-1999, yaitu pada versi 3.22, MySQL menjadi semakin populer
dan dilirik orang karena kestabilan dan kecepatan yang meningkat. Pada versi 3.22 inilah
MySQL sudah tersedia diberbagai platform termasuk Windows.

2.6 Mengenal Macromedia Dreamweaver 8

Macromedia Dreamweaver merupakan sebuah editir HTML profesional untuk mendesai


secara visual dan mengolah situs web maupun halaman web. Macromedia Dreamweaver
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

8 adalah salah satu produk dari vendor Macromedia Inc. Pada saat ini, pihak Macromedia
telah mengeluarkan versi terbaru dari Macromedia Dreamweaver yaitu Macromedia
Dreamweaver 8. Dimana Macromedia Dreamweaver 8 ini memiliki kemampuan untuk
menyunting kode dengan lebih baik, serta mampu menggabungkan layout site dengan
programming web-Nya.

2.6.1 Memulai Dreamweaver 8

Seperti halnya dengan program-program ini, untuk menjalankan Macromedia


Dreamweaver 8, mulailah dengan memilih tombol Start pada taskbar, kemudia pilih All
Program pada tampilan Start Menu Program, pilih folder Macromedia dan klik
Macromedia Dreamweaver 8. Pada saat pertama kali menggunakan Dreamweaver
setelah meng-install-an, kita akan mendapatkan tampilan kotak dialog yang menanyakan
pilihan layout ruang kerja yang ingin kita gunakan, sebaiknya kita gunakan ruang kerja
designer.

2.6.2 Area Kerja Pada Dreamweaver 8

Komponen yang terdapat pada ruang kerja Dreamweaver 8 adalah :


1. Document Window berfungsi untuk menampilkan dokumen dimana kita sekarang
bekerja.
2. Menu Utama berisi semua perintah yang dapat digunakan untuk bekerja pada
Dreamweaver.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

3. Insert Bar terdiri dari tombol-tombol untuk menyisipkan berbagai macam objek
seperti hyperlink, image, tabel, dan lain-lain.
4. Document Toolbar berisi tombol-tombol dan menu pop up dari dokumen yang
sedang kita kerjakan.
5. Panel Groups adalah sekumpulan panel window yang saling berkaitan satu sama
lain, yang dikelompokkan dibawah satu judul untuk membantu bekerja dengan
Dreamweaver.
6. Tag Selector adalah tag-tag HTML yang terpilih sesuai dengan objek yang ada di
area kerja.
7. Properti Inspector digunakan untuk melihat dan mengubah berbagai properti dari
tiap objek terpilih yang ada di area kerja. Setiap objek memiliki properti yang
berbeda-beda.

2.6.3 Menu Bar Area Kerja

Didalam area kerja Dreamweaver 8 terdapat beberapa menu utama yang sangat sederhana
dan mudah untuk dipahami. Pada Menu Bar Area kerja Dreamweaver 8 terdiri dari
beberapa komponen yang dapat kita gunakan, yaitu :

1. Menu File
Menu file terdiri dari perintah untuk membuat dokumen baru, membuka dokumen
yang telah disimpan, dan lain-lain.
1. Menu Edit

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Menu Edit terdiri dari perintah untuk men-copy, memindahkan, serta perintah untuk
pemilihan seperti Select All, dan lain-lain.
2. Menu View
Berisi perintah untuk menampilkan beberapa macam tampilan jendela dari area kerja
Dremweaver 8. Seperti jendela Code dan View, serta untuk menampilkan dan
menyembunyikan beberapa elemen halaman dan toolbar.
3. Menu Insert
Berisikan alternatif baris insert untuk menyisipkan objek di dalam dokumen.
4. Menu Modify
Berfungsi untuk melakukan perubahan properti pada item atau halaman terpilih.
Dengan menggunakan menu ini kita dapat meng-edit atribut tag, mengganti tabel dan
elemen tabel, dan bermacam bentuk aksi untuk item library dan template.

5. Menu Text
Berfungsi untuk mempermudah dalam melakukan format teks.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Untuk memulai membangun suatu website yang berupa aplikasi mengenai D3 Ilmu
Komputer USU, penulis terlebih dahulu merencanakan alur kerja berdasarkan kebutuhan
dari user yang akan menggunakan aplikasi berbasis web yang akan dibuat.

Aplikasi pencarian judul D3 Ilmu Komputer FMIPA USU ini diperbuat atas dasar
kebutuhan Bapak Dr. Saib Suwilo, M. Sc selaku Ketua Departemen Matematika di
FMIPA USU. Berikut adalah halaman-halaman aplikasi pencarian judul tugas akhir
berbasis web yang dibangun penulis agar mahasiswa Ilmu Komputer di FMIPA USU
dapat melakukan pemilihan judul dalam penulisan tugas akhirnya. Penjelasan terhadap
halaman-halaman aplikasinya yaitu:
1.

Admin
Halaman admin aplikasi bertanggungjawab atas data-data yang diinformasikan pada
halaman. Data-data yang ditampilkan pada aplikasi diambil langsung datanya dari
database. Seperti menampilkan judul-judul tugas akhir yang ada semuanya diambil
dari database.

2.

Umum, terutama bagi mahasiswa D3 Ilmu Komputer FMIPA USU


Data judul tugas akhir hanya dapat dihapus dan diperbaiki oleh admin. Mahasiswa
hanya dapat melihat judul-judul tugas akhir saja, dan membaca peraturan serta
panduan dari tugas akhir tersebut

3.2 Perancangan Sistem


Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Perancangan sistem adalah merupakan upaya perusahaan untuk memulai memiliki


sistem baik yang lama maupun untuk memiliki sistem yang baru. Perancangan sistem
dilakukan setelah mendapat gambaran dengan jelas apa yang harus dikerjakan.

Agar lebih mudah untuk memahaminya, maka penulis membuat perancangan


sistem dalam Tugas Akhir ini. Metode perancangan sistem yang penulis lakukan didalam
penyusunan Tugas Akhir ini

terdiri dari Perancangan Data Flow Diagram (DFD),

Perancangan Normalisasi dan Database serta Perancangan Data Flowchart.

3.2.1 Perancangan Keluaran (Output)

Output adalah informasi yang dikirim kepada para pengguna melalui sistem informasi
lewat internet, extranet, atau world wide web (www). Beberapa data memerlukan
pemrosesan yang ekstensif sebelum menjadi keluaran yang layak, data-data lainnya
disimpan, dan ketika diperoleh, dianggap sebagai output dengan sedikit atau tanpa
pemrosesan sama sekali. Ada 6 (enam) tujuan dari keluaran (output) yaitu:
1. Merancang output untuk tujuan khusus.
2. Membuat output bermanfaat bagi para pengguna.
3. Mengirim jumlah output yang tepat.
4. Menyediakan distribusi output yang tepat.
5. Menyediakan output tepat waktu.
6. Memilih metode output yang paling efektif.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Adapun perancangan keluaran (output) yang ingin penulis perbuat adalah sebagai
berikut:

home

header
Peraturan TA

Judul TA

Pencarian berdasarkan
Judul, nama, dan doping

Panduan TA

Form Pencarian
(misalnya berdasarkan doping)

Tombol cari

Maka akan menghasilkan sbb:


Nama
Mis: Ida

NIM
052406070

Judul TA
Ilmu Komputer
Perkembangan penduduk
footer

Stambuk
2005

IPK
3,2

Gambar 3.1 Perancangan Keluaran (Output)

3.2.2 Perancangan Masukan (Input)

Kualitas sistem input menentukan kualitas sistem output. Dengan berusaha membuat
sistem input yang dibentuk secara bagus, penganalisis sistem menyatakan bahwa input
yang buruk mengundang pertanyaan tentang kepercayaan terhadap keseluruhan sistem.
Adapun tujuan perancangan masukan (input) adalah:
1. Membuat penyelesaian input yang mudah dan efisien.
2. Menjamin input akan memenuhi tujuan yang diharapkan.
3. Menjamin penyelesaian yang tepat.
4. Membuat tampilan layar dan formulir yang menarik.
5. Membuat input yang tidak rumit.
6. Membuat tampilan layar dan formulir yang konsisten.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Adapun perancangan masukan (input) yang ingin penulis perbuat adalah sebagai
berikut:

header
home
Input TA
Peraturan TA
Form input judul-judul tugas akhir:
Nama
NIM
Judul Tugas Akhir
Stambuk
IPK

Panduan TA

( Form yang mau diisi )


( Form yang mau diisi )
( Form yang mau diisi )
( Form yang mau diisi )
( Form yang mau diisi )

Simpan

Reset

Setelah data-data diinput dan ditekan tombol simpan maka data-data tersebut akan
langsung tersimpan ke database.
footer
Gambar 3.2 Perancangan Masukan (Input)

3.2.3 Perancangan Database

Database dapat diumpamakan sebagai sebuah tempat menyimpan data yang terstruktur
agar dapat diakses dengan cepat dan mudah. Membangun sebuah database merupakan
langkah awal pembuatan aplikasi, termasuk aplikasi pencarian judul D3 Ilmu Komputer
USU.

Dalam perancangan aplikasi pencarian judul ini, penulis membuat 2 tabel dalam
database tugas_akhir. Tabel-tabel tersebut adalah tabel admin, tabel mahasiswa dan tabel
judul. Pembuatan database dan tabel-tabel mempergunakan fasilitas MySQL atau
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

phpmyadmin yang terdapat dalam software XAMPP. Di bawah ini adalah gambaran isi
dari masing-masing tabel.

1. Tabel admin terdiri dari:

Tabel admin digunakan untuk menampung data dari admin pada aplikasi pencarian
judul tugas akhir D3 Ilmu Komputer USU Medan. Berikut adalah field-field yang
dibuat dalam tabel admin:

Field
User
Password

Type
MD5
MD5

Keterangan
Nama Admin
Password Admin

Tabel 3.1 Tabel Admin

2. Tabel data_mahasiswa terdiri dari:

Tabel mahasiswa digunakan untuk menampung data-data mahasiswa yang ada pada
Jurusan D3 Ilmu Komputer USU. Berikut adalah field-field yang dibuat dalam tabel
mahasiswa:
Field
Nama
NIM
Judul TA
Jurusan
IPK

Type
Varchar
Varchar
Text
Varchar
int

Keterangan
Nama Mahasiswa
Nomor Induk Mahasiswa
Judul Tugas Akhir
Jurusan Mahasiswa
Indeks Prestasi Kumulatif

Tabel 3.2 Tabel Data_Mahasiswa

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

3. Tabel judul terdiri dari:

Tabel judul digunakan untuk menampung judul-judul seluruh tugas akhir mahasiswa
D3 Ilmu Komputer USU yang meliputi nama, nim, judul tugas akhir, dan IPK dari
mahasiswa tersebut.
Field
Nama
NIM
Judul TA
Jurusan
IPK

Type
Varchar
Varchar
Text
Varchar
int

Keterangan
Nama Mahasiswa
Nomor Induk Mahasiswa
Judul Tugas Akhir
Jurusan Mahasiswa
Indeks Prestasi Kumulatif

Tabel 3.3 Tabel Judul

3.2.4. Perancangan File

Dalam perancangan website , penulis mempersiapkan file-file yang digunakan dalam


menunjang tampilan website. File halaman website secara keseluruhan berekstensi .php.
Hal ini dikarenakan seluruh file halaman website menggunakan bahasa pemrograman
PHP dan berkomunikasi dengan MySQL sebagai tempat penyimpanan datanya atau
sebagai database-nya. Penjelasan terhadap file halaman website adalah:

1. index.php

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Halaman

index.php

merupakan

penggabungan

antara

tag-tag

HTML

dan

pemrograman PHP. File ini adalah halaman utama pada website jika browser
dijalankan maka user akan melihat sejarah dan misi serta visi dari D3 Ilmu Komputer
FMIPA USU.
2. judul_ta.php
Halaman judul_ta.php merupakan penggabungan antara tag-tag HTML dan
pemrograman PHP. Halaman judul_ta ini menampilkan nama, nim, judul ta, stambuk,
san IPK dari mahasiswa D3 Ilmu Komputer USU Medan.
3. cari.php
Halaman cari.php merupakan penggabungan antara tag-tag HTML dan pemrograman
PHP. Halaman ini dibuat untuk memberikan kemudahan dalam pencarian atau search
judul-judul tugas akhir yang telah disimpan dalam database MySQL.
4. peraturanta.php
Halaman peraturanta.php merupakan penggabungan antara tag-tag HTML dan
pemrograman PHP. Halaman ini berisikan tentang peraturan tugas akhir di D3 Ilmu
Komputer FMIPA USU.
5. panduanta.php
Halaman panduanta.php merupakan penggabungan antara tag-tag HTML dan
pemrograman PHP. Halaman ini berisikan tentang panduan tugas akhir di D3 Ilmu
Komputer FMIPA USU.
6. bacaexcel.php
Halaman bacaexcel.php merupakan halaman yang berisikan perintah untuk dapat
membaca file excel dan masuk ke database MySQL.
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

3.2.5. Perancangan Komunikasi Data

Perancangan komunikasi data adalah suatu sistem bagi kebanyakan pengguna. Bagaimana
bagus atau buruknya rancangan, komunikasi data tersebut menjadi gambaran dari sistem
yang akan dirancang.

Tujuan dirancangnya komunikasi data ini adalah:


1. Menyesuaikan komunikasi data dengan tugasnya.
2. Mengefesienkan komunikasi data.
3. Memberikan arus balik yang tepat antara komunikasi data dengan pengguna.
4. Membangkitkan pertanyaan-pertanyaan mengenai komuikasi data yang dapat
dimanfaatkan.
5. Memperbaiki produktivitas dari pengetahuan pegawai.

3.2.6. Perancangan Data Flow Diagram (DFD)

Didalam penyusunan Tugas Akhir ini, penulis melakukan perancangan awal sistem
dengan menggunakan Data Flow Diagram (DFD) sesuai dengan data hasil penelitian.
Data Flow Diagram (DFD) merupakan suatu bagian yang menggambarkan urutan
kerja/proses secara garis besar. Dengan diagram aliran data dapat dipahami bagaimana
sistem tersebut berjalan.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Penggunaan notasi/simbol dalam diagram arus data berguna untuk membantu


komunikasi antara analisis sistem dengan pemakai sistem (user) agar dapat memahami
suatu sistem secara logika, selain dari itu notasi/simbol dalam diagram arus data itu juga
membantu sekali untuk memahami suatu sistem pada semua tingkat kompleksitasnya.
Diagram tersebut dikenal dengan Data Flow Diagram (DFD).

Adapun sombol-simbol yang digunakan pada DFD adalah sebagai berikut:

No

Nama Simbol

Gambar

Keterangan

External Entity / Terminator

External Entity / Terminador /

(Kesatuan Luar)

Kesatuan luar digambarkan


dengan notasi/simbol kotak
berbentuk bujur sangkar.

Proses

Simbol ini menggambarkan


suatu proses atau transformasi
data.

Data Store.

Simbol ini untuk


memudahkan mengambarkan

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

simpanan data
4

Data Flow (Arus Data)

Simbol/notasi ini
mengambarkan arus data yang
mengalir sebagi input atau
output.

Tabel 3.4 Simbol-Simbol DFD

3.2.7. Perancangan Flowchart (Diagram Alir)

Adapun flowchart untuk perancangan output administrator yaitu:

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Buka Halaman
Admin

Input User & Password

Status =
Admin

Login Nama &


Pass Anda Salah

Tampilan web Admin

Logout

Gambar 3.3 flowchart login admin

Selanjutnya adalah, flowchart untuk perancangan output pengunjung yaitu:


Halaman
Pengunjung

Pilih Link yang ada

Visi&
misi

Pencarian
TA

Pencarian Judul
TA tdk ditemukan

Gambar 3.4 flowchart pengunjung


Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

3.3 Algoritma Program

Algoritma adalah urutan langkah-langkah berhingga untuk memecahkan masalah logika


atau matematika. Adapun algoritma yang akan dibahas antara lain, yaitu:

3.3.1. Algoritma Menu Utama

Langkah 1

:Aktifkan browser Interner Explorer atau Mozilla Firefox,


ketik address bar http://localhost/TA kemudian ketik icon
Go pada sudut kanan address bar, maka akan tampil halaman
utama website.

Langkah 2

:Dengan demikian kita akan di bawa langsung masuk ke menu utama


Yang menjelaskan sejarah, visi dan misi, serta mata kuliah yang
Ditawarkan pada program studi D3 Ilmu Komputer FMIPA Universitas
Sumatera Utara.

Langkah 3

: Jika ingin melakukan pencarian judul-judul tugas akhir


Anda dapat mengklik link yang telah disediakan penulis
Anda dapat melihat judul-judul mahasiswa, dosen pembimbingnya
Serta IPK mahasiswa tersebut

Langkah 4

: Keluar.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

3.3.2. Algoritma Menu Admin

Langkah 1

: Aktifkan browser Interner Explorer atau Mozilla Firefox,


ketik address bar http://localhost/TA/admin kemudian ketik icon
Go pada sudut kanan address bar, maka akan tampil halaman
utama website.

Langkah 2

: Untuk melakukan login, masukkan user login dan password di tempat


web login, lalu klik login.

Langkah 3

: Periksa user login dan password yang dimasukkan, jika benar


maka tampil halaman selanjutnya, dan jika salah maka mucul
peringatan untuk memperbaiki user login dan password.

Langkah 4

: Pilih salah satu menu yang ada di halaman Admin, lalu kita
akan masuk ke jendela menu yang dipilih, seperti
input data mahasiswa, ubah pass admin, input judul tugas akhir.

Langkah 5

: Keluar.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

BAB 4

IMPLEMENTASI SISTEM

Implementasi sistem adalah langkah-langkah atau prosedur-prosedur yang dilakukan


dalam menyelesaikan desain sistem yang telah disetujui, untuk menginstal, menguji dan
memulai sistem baru atau sistem yang diperbaiki.

4.1 Pengertian Implementasi Sistem

Agar sistem perancangan yang telah kita kerjakan dapat berjalan baik atau tidak, maka
perlu kiranya dilakukan pengujian terhadap sistem yang telah kita kerjakan. Untuk itu
dibutuhkan beberapa komponen utama mencakup perangkat keras (Hardware), perangkat
lunak (Software), dan perangkat manusia (Brainware). Pada website Pencarian Judul
Tugas Akhir ini dibutuhkan komponen-komponen yang mencakup seperti yang diatas :
1. Perangkat Keras (Hardware)
a. Monitor Super VGA
b. CPU (Central Processing Unit)
c. Harddisk sebagai tempat sistem beroperasi dan media penyimpanan
d. Memori minimal 128
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

e. Keyboard dan mouse


2. Perangkat Lunak (Software)
a. Sistem OperasiWindows XP.
b. MySQL sebagai bahasa pemrograman untuk database dalam bahasa SQL.
c. Macromedia Dreamweaver 8 sebagai editor pendesainannya.
d. PHP sebagai bahasa pemrograman server side.
e. Web Server sebagai server lokal dalam pengetesan halaman web.
f. Browser sebagai tempat media tampilan halaman website. Seperti : Mozilla.
3. Perangkat Manusia (Brainware)
Yang dapat menjalankan website ini hanyalah Admin saja.

4.2 Tujuan Implementasi Sistem

Adapun tujuan dari implementasi sistem ini adalah sebagai berikut:

1. Menyelesaikan desain sistem yang telah disetujui sebelumnya.


2. Memastikan bahwa pemakai (user) dapat mengoperasikan sistem baru
3. Menguji apakah sistem baru tersebut sesuai dengan pemkai.
4. Memastikan bahwa konversi ke sistem baru berjalan yaitu dengan membuat rencana,
mengontrol dan melakukan instalasi baru secara benar.

4.3 Instalasi Apache, PHP dan MySQL

Dalam menginstalasi Apache, PHP dan MySQL dilakukan secara satu per satu. Adapun
softwarenya

dapat

diperoleh

dari

situs

http://www.apache.org

untuk

Apache,

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

http://www.php.net untuk PHP dan http://www.mysql.com untuk MySQL. Tahap


instalasinya dimulai dengan

menginstalasi

Apache,

kemudian disusul dengan

menginstalasi PHP dan MySQL. Setelah instalasi selesai dilanjutkan dengan melakukan
pengaturan konfigurasi yang diberikan setelah instalasi selesai. Namun hal ini
memerlukan pengaturan yang sedikit rumit.
Alternatif lain yang digunakan penulis adalah dengan menginstalasi Xampp.
Perangkat

lunak Xampp dengan versi 1.7.1

ini penulis download di situs

http://www.sourceforge.net.

4.3.1 Instalasi Xampp 1.7.1

Xampp memberikan paket-paket yang cukup lengkap diantaranya:

1. Apache HTTPD 2.2.11 + Openssl 0.9.8i


2. MySQL 5.1.33
3. PHP 5.2.9
4. phpMyAdmin 3.1.3.1
5. XAMPP CLI Bundle 1.3
6. FileZilla FTP Server 0.9.31
7. Mercury Mail Transport System 4.62

Dengan menginstalasi Xampp secara otomatis ketiga software utama yang akan
digunakan yaitu Apache, PHP dan MySQL telah dapat digunakan tanpa perlu konfigurasi
yang rumit.
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Adapun tahap-tahap instalasinya adalah sebagai berikut:


1. Klik ganda pada file xampp-win32-1.7.1-installer.

Gambar 4.1 Xampp-win32-1.7.1-installer

2. Pilih bahasa yang digunakan dalam proses instalasi. Pada tahap instalasi ini juga
mendukung bahasa Indonesia.

Gambar 4.2 Pilihan Bahasa Instalasi Xampp

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

3. Maka akan muncul setup wizard. Kemudia klik next.

Gambar 4.3 Setup Wizard

4. Untuk lokasi instalasi, penulis menyarankan untuk membiarkannya secara default.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Gambar 4.4 Lokasi Instalasi


5. Maka akan muncul Xampp option yang menyatakan Xampp ingin diletakkan dimana.
Kemudian klik install.

Gambar 4.5 Xampp Option

6. Tunggu proses instalasi sampai selesai. Proses ini memerlukan waktu yang cukup
lama. Jika sudah selesai akan tampil gambar di bawah ini:
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Gambar 4.6 Setup selesai


4.3.2 Menjalankan Xampp 1.7.1

Setelah proses instalasi berjalan dengan sempurna, langkah selanjutnya ialah menjalankan
Xampp. Untuk itu, buka direktori C:\apachefriends\xampp.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Gambar 4.7 XAMPP Control Panel

Untuk menjalankan Xampp, klik ganda pada xampp_start.exe, sedangkan untuk


mematikan servis Xampp klik ganda pada xampp_stop.exe. Jika servis sudah berjalan
akan muncul jendela baru seperti:

Gambar 4.8 Menjalankan Xampp

4.4 Tampilan Halaman Website

Pada website Pencarian Judul Tugas Akhir D3 Ilmu Komputer USU ini memiliki banyak
halaman. Tiap halaman utama masing-masing memiliki link yang tiap isi halaman webnya menunjuk setiap informasi yang berbeda-beda. Untuk pengetesan pada tool browser,
ketikkan pada address bar http://localhost untuk melihat tampilan Apache web server
pada brwser. Untuk pengujian halaman website Pencarian Judul Tugas Akhir D3 Ilmu
Komputer USU sendiri ketikkan pada address bar browsing seperti berikut ini :
http://localhost/TA. Penulisan TA setelah localhost menunjukkan folder tempat

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

penyimpanan file-file website D3 Ilmu Komputer USU. Dibawah ini adalah contoh
halaman utama pada website D3 Ilmu Komputer USU Medan.
1. Index

Halaman index pada aplikasi pencarian judul tugas akhir ini berisikan tentang visi dan
misi dari D3 Ilmu Komputer USU Medan.

Gambar 4.9 Tampilan Utama Website

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

BAB 5

KESIMPULAN DAN SARAN

5.1.

Kesimpulan

Dalam penulisan Tugas Akhir ini telah diuraikan bagaimana perancangan sistem dalam
pembangunan aplikasi berbasis web pada FMIPA USU. Maka dapat penulis simpulkan :
1. Sistem Informasi Tugas Akhir ini dirancang untuk dapat memberikan informasi yang
lengkap dan akurat dalam pengambilan judul tugas akhir, karena di dalam sistem
informasi tugas akhir berbasis web terdapat judul-judul tugas akhir mahasiswa pada
tahun-tahun sebelumnya, agar dalam pengambilan judul tugas akhir pada tahun
berikutnya bisa lebih tepat dan teliti.
2. Sistem Informasi Tugas Akhir ini memudahkan dalam melakukan peng-updatean
(edit, hapus, cari) data yang diperlukan secara cepat, khususnya pada peng-updatean
judul Tugas Akhir.
3. Dengan menggunakan internet, penyampaian informasi dapat lebih luas tersebar di
berbagai wilayah dan lebih mudah untuk mengaksesnya.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

5.2.

Saran

Dengan selesainya website Tugas Akhir FMIPA USU ini, penulis memiliki beberapa
saran yang dapat mendukung pengembangan sistem lebih lanjut :
1. Untuk melengkapi website administrator, dapat ditambah rekap nama-nama
mahasiswa yang dibimbing oleh dosen pembimbing, dengan adanya rekap tersebut
dapat mempermudah dosen pembimbing dalam mengingat nama mahasiswa yang di
bimbingnya.
2. Pada website pengunjung tidak perlu di buat form login, karena website tugas akhir
ini bersifat memberikan informasi bagi masyarakat umum

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

DAFTAR PUSTAKA

Kadir, Abdul. 2002. Penuntun Praktis Belajar SQL. Yogyakarta: Andi

Kadir, Abdul. 2002. Dasar Pemrograman WEB Dinamis menggunakan PHP.


Yogyakarta: Andi

Kenneth E. Kendall, Julie E. Kendall. 2003. Analisis dan Perancangan Sistem Jilid 1.
Jakarta : PT. Indeks Kelompok Gramedia

Kenneth E. Kendall, Julie E. Kendall. 2003. Analisis dan Perancangan Sistem Edisi Ke 5
Jilid 2. Jakarta : PT. Indeks Kelompok Gramedia

Riberu, Tito. 2004. Membuat Situs Web dengan Macromedia DreamWeaver MX 2004.
Jakarta: Dinastindo

Sukarno, Mohamad. 2006. Membangun Website Dinamis Interaktif dengan PHP dan
MySQL (Window dan Linux). Jakarta. Penerbit Eska Media Press.

Sutarman, 2003. Membangun Aplikasi Web dengan PGP dan MySQL. Yogyakarta :
Graha Ilmu

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Syafii, M. 2005. Panduan Membuat Aplikasi Database dengan PHP 5. Yogyakarta: Andi
Offset

Utomo, Eko Priyo. 2005. Berbisnis di era Internet dengan E-Commerce. Bandung.
Penerbit Rama Widya.

L
A
M
P
I
R
A

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

DEPARTEMEN PENDIDIKAN NASIONAL

UNIVERSITAS SUMATERA UTARA


FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM(FMIPA)

Jl. Bioteknologi No.1 Kampus USU Telp. (061) 8211050 Fax (061) 8214290
MEDAN 20155, Email : Dekanat@FMIPA.USU.AC.ID

KARTU BIMBINGAN TUGAS AKHIR MAHASISWA

Nama Mahasiswa
Nomor Induk Mahasiswa
Judul Tugas Akhir

:
:

Dosen Pembimbing
Tanggal Mulai Bimbingan
Tanggal Selesai Bimbingan

:
:
:

No
1
2
3
4
5
6

Tanggal
Bimbingan
06 - 05 - 2009
01 - 06 - 2009
01 - 06 - 2009
02 - 06 - 2009
02 - 06 - 2009
02 - 06 - 2009

Fadly Siswanto
062406059
Sistem Informasi Tugas Akhir Mahasiswa D3
Ilmu Komputer Fakultas MIPA Universitas
Sumatera Utara
Drs. Marihat Situmorang, M. Kom.
6 Mei 2009
6 Juni 2009

Pembahasan Mengenai,
pada bab :
Pengajuan Proposal TA
Pengajuan Bab 1
Pengajuan Bab 2
Pengajuan Bab 3
Pengajuan Bab 4
Pengajuan Bab 5

Paraf Dosen
Pembimbing

Keterangan
ACC
ACC
ACC
ACC
ACC
ACC

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Kartu ini harap dikembalikan ke Departemen Matematika bila bimbingan telah


selesai.

Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU
Ketua,

Dr. Saib Suwilo, M. Sc.


NIP. 131 796 149

Dosen Pembimbing

Drs. Marihat Situmorang, M. Kom.


NIP. 131 859 487
SURAT KETERANGAN
Hasil Uji Program Tugas Akhir

Yang bertanda tangan di bawah ini, menerangkan bahwa Tugas Akhir Mahasiswa
Program D-III Komputer :

Nama
Nomor Induk Mahasiswa
Program Studi
Judul Tugas Akhir

:
:
:
:

FADLY SISWANTO
062406059
D3 ILMU KOMPUTER
SISTEM INFORMASI TUGAS AKHIR
MAHASISWA D3 ILMU KOMPUTER
FAKULTAS MIPA UNIVERSITAS
SUMATERA UTARA

Telah melaksanakan test program Tugas Akhir dari mahasiswa tersebut yang
dilaksanakan pada tanggal

Juni 2009.

Dengan hasil : Sukses / Gagal

Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian Meja Hijau
Tugas Akhir Mahasiswa yang bersangkutan di Departemen Matematika FMIPA USU
Medan.

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Medan,

Juni 2009

Dosen Pembimbing

Drs. Marihat Situmorang, M. Kom


NIP. 131 859 487

LAMPIRAN A : TAMPILAN PROGRAM

Tampilan Halaman Utama (Home)

Tampilan Judul Tugas Akhir

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Tampilan Peraturan Tugas Akhir

Tampilan Panduan Tugas Akhir

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Tampilan Login Administrator

Tampilan Utama Admin (Home Admin)

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Tampilan Edit Judul Tugas akhir

Tampilan Saat Mengedit Judul Tugas akhir


Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Tampilan Tambah judul Tugas akhir

Tampilan Form Ubah Password Admin

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Tampilan Rekapitulasi Judul Tugas Akhir

Tampilan Rekap Tahunan

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

LAMPIRAN B : LISTING PROGRAM

Listing konek.inc
<?
$konhost="localhost";
$konuser="root";
$konpass="";
$kondb="tugas_akhir";
$konek=mysql_connect($konhost,$konuser,$konpass) or die ("Tidak dapat
terhubung ke MySQL");
$konekdb=mysql_select_db($kondb) or die ("Tidak dapat terhubung ke
Database");
?>

Listing index.php
<html>
<head>
<title>:: Sistem Informasi Tugas Akhir D-3 Komputer ::</title>
<link href="style.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!-.style2 {
font-size: 12px;
font-family: Arial, Helvetica, sans-serif;
color: #333333;
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

}
-->
</style>
<style type="text/css">
<!-.dropdown {
font-size: 11px;
font-weight: normal;
margin-top: 0px;
margin-left: 0px;
float: left;
}
.dropdown dt {border:0px solid #9ac1c9; padding:0px; fontweight:bold; cursor:pointer; }
.dropdown dt:hover {}
.dropdown
dd
{padding:0px;
margin:
0px;
position:absolute;
overflow:hidden;
display:none;
background:#009900;
z-index:200;
opacity:1.0}
.dropdown ul {padding:0px; margin: 0px;border:1px solid #9AC1C9;
list-style:none; border-top:none; border-bottom: none;}
.dropdown li {display:inline}
.dropdown a {display:block; padding:5px; text-decoration:none; }
.dropdown
a:active
{display:block;
padding:5px;
textdecoration:none; }
.dropdown
a:visited
{display:block;
padding:5px;
textdecoration:none; }
.dropdown a:hover {text-decoration: none; }
.dropdown .underline {border-bottom:1px solid #B9D6DC}
.separator {
font-size: 11px;
font-weight: normal;
margin-top: 5px;
margin-left: 0px;
float: left;
color: #fff;
}
-->
</style>
<script
type="text/javascript"
src="145-komputer-diii_files/mootools.js"></script>
<script
type="text/javascript"
src="145-komputer-diii_files/caption.js"></script>
<script type="text/javascript">
var DDSPEED = 10;
var DDTIMER = 15;
// main function to handle the mouse events //
function ddMenu(id,d){
var h = document.getElementById(id + '-ddheader');
var c = document.getElementById(id + '-ddcontent');
clearInterval(c.timer);
if(d == 1){
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

clearTimeout(h.timer);
if(c.maxh && c.maxh <= c.offsetHeight){return}
else if(!c.maxh){
c.style.display = 'block';
c.style.height = 'auto';
c.maxh = c.offsetHeight;
c.style.height = '0px';
}
c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
}else{
h.timer = setTimeout(function(){ddCollapse(c)},50);
}
}
// collapse the menu //
function ddCollapse(c){
c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER);
}
// cancel the collapse if a user rolls over the dropdown //
function cancelHide(id){
var h = document.getElementById(id + '-ddheader');
var c = document.getElementById(id + '-ddcontent');
clearTimeout(h.timer);
clearInterval(c.timer);
if(c.offsetHeight < c.maxh){
c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
}
}
// incrementally expand/contract the dropdown and change the opacity //
function ddSlide(c,d){
var currh = c.offsetHeight;
var dist;
if(d == 1){
dist = (Math.round((c.maxh - currh) / DDSPEED));
}else{
dist = (Math.round(currh / DDSPEED));
}
if(dist <= 1 && d == 1){
dist = 1;
}
c.style.height = currh + (dist * d) + 'px';
c.style.opacity = currh / c.maxh;
c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){
clearInterval(c.timer);
}
}
</script>
</head>
<body background="admin/images/background.gif">
<div id="header">
<div id="content">
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<tr>
<td bgcolor="#F1F3F5">
<p>
<? include "navigasi.php"; ?>
</p>
</td>
</tr>
<tr>
<td bgcolor="#F1F3F5">
<p>
<?
$modul = $_GET['modul'];
if ($modul == 'hal_utama')
{ include "halutama.php";
}
else if ($modul == 'tugas_akhir')
{ include "tugasakhir.php"; }
else if ($modul == 'hasil_cari')
{ include "cari.php"; }
else if ($modul == 'lihat_data')
{ include "lihat_data.php"; }
else if ($modul == 'peraturan_TA')
{ include "peraturanta.php"; }
else if ($modul == 'panduan_TA')
{ include "panduanta.php";
}
else
include "halutama.php";
?>
</p>
</td>
</tr>
</div>
<div id="footer">
<div align="center" class="style2">Copyright &copy; 2009 By
Fadly Siswanto </div>
</div>
</div>
</body>
</html>

Listing form_login.php
<?php
echo "<form method=POST action=cek_login.php>
<table>
<tr><td>User</td><td> : <input type=text name=user></td></tr>
<tr><td>Password</td><td> : <input type=password name=pass></td></tr>
<tr><td colspan=2><input type=submit value=Login></td></tr>
</table>
</form>";
?>

Listing cek_login.php
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<?
session_start();
require "konek.inc";
$usr = $_POST['user'];
$user = md5($usr);
$pass = $_POST['pass'];
$pswd = md5($pass);
$sql = "select * from user where namauser = '$user'";
$qry = mysql_query($sql) or die("Query salah : " .mysql_error());
$num = mysql_num_rows($qry);
$row = mysql_fetch_array($qry);
if ($num == 0)
{
header("Location: index.php?ket=salahadmin");}
else if($pswd != $row['pass'])
{
header("Location: index.php?ket=salahpass");}
else {
$_SESSION['admin']=1;
header ('Location: media.php?modul=home');
}
?>

Listing cari.php
<style type="text/css">
<!-.style1 {color: #006600}
.style3 {color: #666666}
.style6 {
font-size: 16px;
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
}
-->
</style>
<form action="media.php?modul=hasil_cari" method=post>
<table width=760 border=0 cellpading=0 cellspacing=0 align=center>
<tr>
<td><span class="style3">Berdasarkan</span></td>
<td><span class="style3">Keyword</span></td>
<td><span class="style3">Tahun</span></td>
<td>&nbsp;</td>
</tr>
<tr>
<td><select name="field">
<option value="nama">Nama</option>
<option value="judul_ta">Judul</option>
<option value="doping">Dosen Pembimbing</option>
</select>
</td>
<td><input type=text name="keyword"></td>
<td><select name="tahun">
<?
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$thn = date(Y);
for($i = $thn-4 ; $i < $thn ; $i++)
{
echo "<option value='$i'>$i</option>";
}
?></select>
</td>
<td><input type=submit value=Cari></td>
</tr>
</table>
</form>
<?
require "konek.inc";
$field=$_POST['field'];
$keyword=$_POST['keyword'];
$thun= substr($_POST['tahun'],-2);
$sql = "select * from data_mahasiswa where $field like '%$keyword%'
order by nim";
$query = mysql_query($sql);

if (!empty($keyword)){
if (($num = mysql_num_rows($query)) == 0) {
echo "<font color=#009900>Data yang Anda cari tidak
ditemukan.<br>Silahkan masukkan keyword lain.</font>";
}
else
{
echo "<div align=center>Jumlah data = $num Orang</div>";
?>
<table border ='1' align ='center'>
<tr bgcolor='#006600'>
<th align=center>Nama</td>
<th align=center>NIM</td>
<th align=center>Judul TA</td>
<th align=center>Dosen Pembimbing</td>
<th align=center>IPK</td>
<th align=center>Perintah</td>
</tr>
<?
while ($row = mysql_fetch_array($query)) {
$nim = $row['nim'];
?>
<tr>
<td class=tekskcl><a href=media.php?modul=lihat_data&nim=<? echo
$nim; ?>><? echo $row['nama']; ?></a></td>
<td class=tekskcl><? echo $nim; ?></td>
<td class=tekskcl><? echo $row['judul_ta']; ?></td>
<td class=tekskcl><? echo $row['doping']; ?></td>
<td class=tekskcl><center><? echo $row['ipk']; ?></center></td>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<td class=tekskcl><a href=media.php?modul=edit1&nim=<? echo $nim;


?>><img src="images/edit.jpeg" border=0 height=20 width=20></a> &nbsp;
<a href="hapus.php?nim=<? echo $nim; ?>" onClick="return confirm('Apakah
Anda benar-benar akan menghapus <? echo $row[nama]; ?>?')"><img
src="images/del.jpeg" border=0 height=20 width=20></a></td>
</tr>
<? } ?>
</table>
<? } }
else
echo "Silahkan Masukkan Pencarian Anda pada Field yang
disediakan di atas.";
?>

Listing edit1.php
<?
require "konek.inc";
$nim1 = $_GET['nim'];
$sql = "select * from data_mahasiswa where nim = $nim1";
$query = mysql_query($sql);

if (!empty($nim1)){
if (($num = mysql_num_rows($query)) == 0) {
echo "<font color=#009900>Data yang Anda cari tidak
ditemukan.<br>Silahkan masukkan keyword lain.</font>";
}
else
{
while ($row = mysql_fetch_array($query)) {
?>
<form method="post" action="edit2.php">
<table border ='1' align ='center' width=100%>
<tr>
<td>Nama</td>
<td>:</td>
<td class=tekskcl><input type="text" size="100%" name="nama"
value="<? echo $row['nama']; ?>" /></td>
</tr>
<tr>
<td>NIM</td>
<td>:</td>
<td class=tekskcl><input type="text" size="100%" name="nim"
value="<? echo $row['nim']; ?>" /></td>
</tr>
<tr>
<td>Judul</td>
<td>:</td>
<td class=tekskcl><input type="text" size="100%" name="judul_ta"
value="<? echo $row['judul_ta']; ?>" /></td>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

</tr>
<tr>
<td>Dosen Pembimbing</td>
<td>:</td>
<td class=tekskcl><input type="text" size="100%" name="doping"
value="<? echo $row['doping']; ?>" /></td>
</tr>
<tr>
<td>IPK</td>
<td>:</td>
<td class=tekskcl><input type="text" size="100%" name="ipk"
value="<? echo $row['ipk']; ?>" /></td>
</tr>
<tr>
<td></td>
<td><input type="hidden" name="nim1" value="<? echo $nim1; ?>"
/></td>
<td class=tekskcl><input type="submit" value="Ubah" /><input
type="reset" value="Reset" /></td>
</tr>
<? } ?>
</table>
<? } }
else
echo "ERROR!!!";
?>

Listing edit2.php
<?php
$nim1 = $_POST['nim1'];
$nim = $_POST['nim'];
$nama = $_POST['nama'];
$judul_ta = $_POST['judul_ta'];
$doping = $_POST['doping'];
$ipk = $_POST['ipk'];
require "konek.inc";
if(!empty($nim))
{
$sql1 = "select * from data_mahasiswa where nim = '$nim'";
$qry1 = mysql_query($sql1);
while($row1 = mysql_fetch_array($qry1)){
$id = $row1[id];}
mysql_query ("update data_mahasiswa set
nama='$nama',nim='$nim',judul_ta='$judul_ta',doping='$doping',ipk='$ipk'
where nim=$nim1");
header("location:
media.php?modul=edit1&ket=sukses&nim=$nim");
}
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

else
echo "Variabel kosong";
?>

Listing edit.php
<style type="text/css">
<!-.style1 {color: #006600}
.style3 {color: #666666}
.style6 {
font-size: 16px;
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
}
-->
</style>
<form action="media.php?modul=hasil_cari" method=post>
<table width=760 border=0 cellpading=0 cellspacing=0 align=center>
<tr>
<td><span class="style3">Berdasarkan</span></td>
<td><span class="style3">Keyword</span></td>
<td>&nbsp;</td>
</tr>
<tr>
<td><select name="field">
<option value="judul_ta">Judul</option>
<option value="nama">Nama</option>
<option value="doping">Dosen Pembimbing</option>
</select>
</td>
<td><input type=text name="keyword"></td>
<td><input type=submit value=Cari></td>
</tr>
</table>
</form>
<table width=760 border=0 cellpading=0 cellspacing=0 align=center>
<tr>
<td>
<?
include "fileedit.php"; ?>
</td>
</tr>
</table>

Listing file.php
<?
require "./konek.inc";
if(!isset($_GET['page'])){
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$page = 1;
} else {
$page = $_GET['page'];
}
$max_results = 10;
$from = (($page * $max_results) - $max_results);

$query = mysql_query ("select * from data_mahasiswa order by id LIMIT


$from, $max_results");
$jumlah = mysql_num_rows(mysql_query ("select * from data_mahasiswa
order by id",$konek));
echo "<b><div align=center>Jumlah Data = $jumlah
Mahasiswa</div></b><br><br>";
echo "<b><div align=center>Daftar Judul Tugas Akhir D-III Komputer
FMIPA USU</div></b>";
echo "<table border = \"3\" align =\"center\">
<tr bgcolor=#CCCCCC>
<th>Nama</th>
<th>NIM</th>
<th>Judul TA</th>
<th>Dosen Pembimbing</th>
<th>IPK</th>
</tr>";
while ($row = mysql_fetch_array($query))
{
$nim = $row['nim'];
?>
<tr>
<td class=tekskcl><a href=media.php?modul=lihat_data&nim=<? echo
$nim; ?>><? echo $row['nama']; ?></a></td>
<td class=tekskcl><? echo $nim; ?></td>
<td class=tekskcl><? $judul = $row['judul_ta']; echo $judul ;
?></td>
<td class=tekskcl><? echo $row['doping']; ?></td>
<td class=tekskcl><? echo $row['ipk']; ?></td>
</tr>
<? } ?>
</table><br>
<?
// Melihat jumlah total data pada database:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM
data_mahasiswa"),0);
// Melihat jumlah total halaman. Selalu dibulatkan ke atas dengan fungsi
ceil()
$total_pages = ceil($total_results / $max_results);
// Membuat Penomoran Halaman
echo "Halaman : ";
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

// Link sebelumnya
if($page > 1){
$prev = ($page - 1);
echo "<a
href=\"".$_SERVER['PHP_SELF']."?modul=judul_ta&page=$prev\"><<</a> ";
}
for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo "$i ";
} else {
echo "<a
href=\"".$_SERVER['PHP_SELF']."?modul=judul_ta&page=$i\">$i</a> ";
}
}
// Link selanjutnya
if($page < $total_pages){
$next = ($page + 1);
echo "<a
href=\"".$_SERVER['PHP_SELF']."?modul=judul_ta&page=$next\">>></a>";
}
?>

Listing fileedit.php
<?
require "./konek.inc";
if(!isset($_GET['page'])){
$page = 1;
} else {
$page = $_GET['page'];
}
$max_results = 10;
$from = (($page * $max_results) - $max_results);

$query = mysql_query ("select * from data_mahasiswa order by id LIMIT


$from, $max_results");
$jumlah = mysql_num_rows(mysql_query ("select * from data_mahasiswa
order by id",$konek));
echo "<b><div align=center>Jumlah Data = $jumlah
Mahasiswa</div></b><br><br>";
echo "<b><div align=center>Daftar Judul Tugas Akhir D-III Komputer
FMIPA USU</div></b>";
echo "<table border = \"3\" align =\"center\">
<tr bgcolor=#CCCCCC>
<th>Nama</th>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<th>NIM</th>
<th>Judul TA</th>
<th>Dosen Pembimbing</th>
<th>IPK</th>
<th>Perintah</th>
</tr>";
while ($row = mysql_fetch_array($query))
{
$nim = $row['nim'];
?>
<tr>
<td class=tekskcl><? echo $row['nama']; ?></td>
<td class=tekskcl><? echo $nim; ?></td>
<td class=tekskcl><? $judul = $row['judul_ta']; echo $judul ;
?></td>
<td class=tekskcl><? echo $row['doping']; ?></td>
<td class=tekskcl><? echo $row['ipk']; ?></td>
<td class=tekskcl><a href=media.php?modul=edit1&nim=<? echo $nim;
?>><img src="images/edit.jpeg" border=0 height=20 width=20></a> &nbsp;<a
href="hapus.php?nim=<? echo $nim; ?>" onClick="return confirm('Apakah
Anda benar-benar akan menghapus <? echo $row[nama]; ?>?')"><img
src="images/del.jpeg" border=0 height=20 width=20></a></td>
</tr>
<? } ?>
</table><br>
<?
// Melihat jumlah total data pada database:
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM
data_mahasiswa"),0);
// Melihat jumlah total halaman. Selalu dibulatkan ke atas dengan fungsi
ceil()
$total_pages = ceil($total_results / $max_results);
// Membuat Penomoran Halaman
echo "Halaman : ";
// Link sebelumnya
if($page > 1){
$prev = ($page - 1);
echo "<a
href=\"".$_SERVER['PHP_SELF']."?modul=edit&page=$prev\"><<</a> ";
}
for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo "$i ";
} else {
echo "<a
href=\"".$_SERVER['PHP_SELF']."?modul=edit&page=$i\">$i</a> ";
}
}
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

// Link selanjutnya
if($page < $total_pages){
$next = ($page + 1);
echo "<a
href=\"".$_SERVER['PHP_SELF']."?modul=edit&page=$next\">>></a>";
}
?>

Listing formlogin.php
<?php
if (isset($_REQUEST['ket']))
{
if ($_REQUEST['ket'] == 'salahadmin'){
echo "<h5>Nama Admin yang Anda masukkan
salah.<br>Silahkan masukkan dengan benar.</h5>";}
else if ($_REQUEST['ket'] == 'salahpass'){
echo "<h5>Password yang Anda masukkan
salah.<br>Silahkan masukkan dengan benar.</h5>";}
}
echo "<form method=POST action=cek_login.php>
<table>
<tr><td>User</td><td> : <input type=text name=user></td></tr>
<tr><td>Password</td><td> : <input type=password name=pass></td></tr>
<tr><td colspan=2><input type=submit value=Login></td></tr>
</table>
</form>";
echo "<table><tr><td>[ <a href=../index.php>Menu Utama</a>
]</td></tr></table>";
?>

Listing hapus.php
<?php
$nim = $_GET['nim'];
require "konek.inc";
mysql_query("delete from data_mahasiswa where nim=$nim");
header("location:media.php?modul=edit&ket=sukses");
?>

Listing judulta.php
<style type="text/css">
<!-.style1 {color: #006600}
.style3 {color: #666666}
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

.style6 {
font-size: 16px;
font-family: Arial, Helvetica, sans-serif;
font-weight: bold;
}
-->
</style>
<form action="media.php?modul=hasil_cari" method=post>
<table width=760 border=0 cellpading=0 cellspacing=0 align=center>
<tr>
<td colspan=4 class="style1"><img src="images/searchbutton.jpg" />
<span class="style6">Pencarian Tugas Akhir </span></td>
</tr>
<tr>
<td><span class="style3">Berdasarkan</span></td>
<td><span class="style3">Keyword</span></td>
<td><span class="style3">Tahun</span></td>
<td>&nbsp;</td>
</tr>
<tr>
<td><select name="field">
<option value="judul_ta">Judul</option>
<option value="nama">Nama</option>
<option value="doping">Dosen Pembimbing</option>
</select>
</td>
<td><input type=text name="keyword"></td>
<td><select name=tahun>
<?
$thn = date(Y);
for($i = $thn-4 ; $i <= $thn ; $i++)
{
echo "<option value='$i'>$i</option>";
}
?></select>
</td>
<td><input type=submit value=Cari></td>
</tr>
</table>
</form>
<table width=760 border=0 cellpading=0 cellspacing=0 align=center>
<tr>
<td>
<?
include "file.php"; ?>
</td>
</tr>
</table>

Listing lihatdata.php
<?
require "konek.inc";
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$nim = $_GET['nim'];
$sql = "select * from data_mahasiswa where nim = $nim";
$query = mysql_query($sql);

if (!empty($nim)){
if (($num = mysql_num_rows($query)) == 0) {
echo "<font color=#009900>Data yang Anda cari tidak
ditemukan.<br>Silahkan masukkan keyword lain.</font>";
}
else
{
while ($row = mysql_fetch_array($query)) {
?>
<table border ='1' align ='center'>
<tr>
<td>Nama</td>
<td>:</td>
<td class=tekskcl><? echo $row['nama']; ?></td>
</tr>
<tr>
<td>NIM</td>
<td>:</td>
<td class=tekskcl><? echo $row['nim']; ?></td>
</tr>
<tr>
<td>Judul</td>
<td>:</td>
<td class=tekskcl><? echo $row['judul_ta']; ?></td>
</tr>
<tr>
<td>Dosen Pembimbing</td>
<td>:</td>
<td class=tekskcl><? echo $row['doping']; ?></td>
</tr>
<tr>
<td>IPK</td>
<td>:</td>
<td class=tekskcl><? echo $row['ipk']; ?></td>
</tr>
<? } ?>
</table>
<? } }
else
echo "Silahkan Masukkan Pencarian Anda pada Field yang
disediakan di atas.";
?>

Listing logout.php
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<?
session_start();
unset($_SESSION['admin']);
session_destroy();
header("Location: index.php");
?>

Listing media.php
<?
session_start();
if(!isset($_SESSION['admin'])) {
header("Location: index.php?hal=gakboleh");
}
else {
?>
<html>
<head>
<title>:: Sistem Informasi Tugas Akhir D-3 Komputer ::</title>
<link href="../config/adminstyle.css" rel="stylesheet" type="text/css"
/>
<style type="text/css">
<!-.dropdown {
font-size: 11px;
font-weight: normal;
margin-top: 0px;
margin-left: 0px;
float: left;
}
.dropdown dt {border:0px solid #9ac1c9; padding:0px; fontweight:bold; cursor:pointer; }
.dropdown dt:hover {}
.dropdown dd {padding:0px; margin: 0px; position:absolute;
overflow:hidden; display:none; background:#009900; z-index:200;
opacity:1.0}
.dropdown ul {padding:0px; margin: 0px;border:1px solid #9AC1C9;
list-style:none; border-top:none; border-bottom: none;}
.dropdown li {display:inline}
.dropdown a {display:block; padding:5px; text-decoration:none; }
.dropdown a:active {display:block; padding:5px; textdecoration:none; }
.dropdown a:visited {display:block; padding:5px; textdecoration:none; }
.dropdown a:hover {text-decoration: none; }
.dropdown .underline {border-bottom:1px solid #B9D6DC}
.separator {
font-size: 11px;
font-weight: normal;
margin-top: 5px;
margin-left: 0px;
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

float: left;
color: #fff;
}
.style7 {font-size: 12px}
-->
</style>
<script type="text/javascript" src="145-komputer-diii_files/mootools.js"></script>
<script type="text/javascript" src="145-komputer-diii_files/caption.js"></script>
<script type="text/javascript">
var DDSPEED = 10;
var DDTIMER = 15;
// main function to handle the mouse events //
function ddMenu(id,d){
var h = document.getElementById(id + '-ddheader');
var c = document.getElementById(id + '-ddcontent');
clearInterval(c.timer);
if(d == 1){
clearTimeout(h.timer);
if(c.maxh && c.maxh <= c.offsetHeight){return}
else if(!c.maxh){
c.style.display = 'block';
c.style.height = 'auto';
c.maxh = c.offsetHeight;
c.style.height = '0px';
}
c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
}else{
h.timer = setTimeout(function(){ddCollapse(c)},50);
}
}
// collapse the menu //
function ddCollapse(c){
c.timer = setInterval(function(){ddSlide(c,-1)},DDTIMER);
}
// cancel the collapse if a user rolls over the dropdown //
function cancelHide(id){
var h = document.getElementById(id + '-ddheader');
var c = document.getElementById(id + '-ddcontent');
clearTimeout(h.timer);
clearInterval(c.timer);
if(c.offsetHeight < c.maxh){
c.timer = setInterval(function(){ddSlide(c,1)},DDTIMER);
}
}
// incrementally expand/contract the dropdown and change the opacity //
function ddSlide(c,d){
var currh = c.offsetHeight;
var dist;
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

if(d == 1){
dist = (Math.round((c.maxh - currh) / DDSPEED));
}else{
dist = (Math.round(currh / DDSPEED));
}
if(dist <= 1 && d == 1){
dist = 1;
}
c.style.height = currh + (dist * d) + 'px';
c.style.opacity = currh / c.maxh;
c.style.filter = 'alpha(opacity=' + (currh * 100 / c.maxh) + ')';
if((currh < 2 && d != 1) || (currh > (c.maxh - 2) && d == 1)){
clearInterval(c.timer);
}
}
</script>

</head>
<body background="images/background.gif"">
<div id="header">
<div id="content">
<tr>
<td bgcolor="#F1F3F5">
<p>
<? include "navigasi.php"; ?>
</p>
</td>
</tr>
<tr>
<td bgcolor="#F1F3F5">
<p>
<?
$modul = $_GET['modul'];
if ($modul == 'home')
{
echo "<h2>Selamat Datang</h2>
<p>Hai , silahkan klik menu pilihan yang ada untuk mengelola
pencarian judul tugas akhir. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align=right>Login Hari ini: ";
echo (date("d m Y"));
echo " | ";
echo date("H:i:s");
echo "</p>";
}
else if ($modul == 'judul_ta')
{ include "judul_ta.php";
}
else if ($modul == 'hasil_cari')
{ include "cari.php"; }
else if ($modul == 'lihat_data')
{ include "lihat_data.php"; }
else if ($modul == 'edit')
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

{
if (isset($_REQUEST['ket']))
{
if ($_REQUEST['ket'] == 'sukses'){
echo "<h5>Data berhasil di Hapus.<br>Terima
kasih.</h5>";}
}
include "edit.php";
}
else if ($modul == 'tambah')
{
if (isset($_REQUEST['ket']))
{
if ($_REQUEST['ket'] == 'sukses'){
echo "<h5>Data berhasil di Tambah<br>Terima
kasih.</h5>";}
}
include "tambahdata.php";
}
else if ($modul == 'ubah_pass')
{
if (isset($_REQUEST['ket']))
{
if ($_REQUEST['ket'] == 'sukses'){
echo "<h5>Password Berhasil Di ubah.<br>Terima
kasih.</h5>";}
else if ($_REQUEST['ket'] == 'passtdkcocok'){
echo "<h5>Password baru yang Anda masukkan tidak
cocok.<br>Silahkan masukkan dengan benar.</h5>";}
else if ($_REQUEST['ket'] == 'passsalah'){
echo "<h5>Password yang Anda masukkan
salah.<br>Silahkan masukkan dengan benar.</h5>";}
else if ($_REQUEST['ket'] == 'namausersalah'){
echo "<h5>Nama User yang Anda masukkan
salah.<br>Silahkan masukkan dengan benar.</h5>";}
}
include "ubahpass.php";
}
else if ($modul == 'rekapitulasi')
{ include "rekapitulasi.php";
}
else if ($modul == 'rekap_tahunan')
{ include "rekap_tahunan.php";
}
else if ($modul == 'edit1')
{
if (isset($_REQUEST['ket']))
{
if ($_REQUEST['ket'] == 'sukses'){
echo "<h5>Data berhasil di edit.<br>Terima
kasih.</h5>";}
}
include "edit1.php";
}
else if ($modul == 'del_data')
{ include "del_data.php";
}
else
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

{
echo "<h2>Selamat Datang</h2>
<p>Hai , silahkan klik menu pilihan yang ada untuk mengelola
pencarian judul tugas akhir. </p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align=right>Login Hari ini: ";
echo (date("d m Y"));
echo " | ";
echo date("H:i:s");
echo "</p>";
}
?>
</p>
</td>
</tr>
</div>
<div id="footer">
<div align="center" class="style7">Copyright &copy; 2009 By
Fadly Siswanto </div>
</div>
</div>
</body>
</html>
<?
}
?>

Listing navigasi.php
<style type="text/css">
<!-.style1 {color: #006600}
-->
</style>
<div id="menu_container">
<dl class="dropdown">
<dt id="menu0-ddheader" onMouseOver="ddMenu('menu0',1)"
onMouseOut="ddMenu('menu0',-1)">
<li><a href="?modul=home">Home</a></li>
</dt>
<dd id="menu0-ddcontent" onMouseOver="cancelHide('menu0')"
onMouseOut="ddMenu('menu0',-1)">
<ul></ul>
</dd>
</dl>
<div class="separator">|</div>
<dl class="dropdown"><dt id="menu1-ddheader"
onMouseOver="ddMenu('menu1',1)" onMouseOut="ddMenu('menu1',-1)">
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<li><a href="?modul=judul_ta">Judul Tugas Akhir</a></li>


</dt><dd style="display: block; height: 0px; opacity: 0;"
id="menu1-ddcontent" onMouseOver="cancelHide('menu1')"
onMouseOut="ddMenu('menu1',-1)">
<ul>
<li><a class=underline href=?modul=edit>Edit Judul Tugas
Akhir</a></li>
<div class=clr></div>
</ul>
<ul>
<li><a class=underline href=?modul=tambah>Tambah Judul Tugas
Akhir</a></li>
<div class=clr></div>
</ul>
<ul>
<li><a class=underline href=?modul=ubah_pass>Ubah Pass
Admin</a></li>
<div class=clr></div>
</ul>
</dd>
</dl>
<div class="separator">|</div>
<dl class="dropdown"><dt id="menu2-ddheader"
onMouseOver="ddMenu('menu2',1)" onMouseOut="ddMenu('menu2',-1)">
<li><a href="?modul=rekapitulasi">Rekapitulasi</a></li>
</dt><dd style="display: block; height: 0px; opacity: 0;"
id="menu2-ddcontent" onMouseOver="cancelHide('menu2')"
onMouseOut="ddMenu('menu2',-1)">
<ul>
<li><a class=underline href=rekap_tahunan.php>Rekap
Tahunan</a></li>
<div class=clr></div>
</ul>
</dd>
</dl>
<div class="separator">|</div>
<dl class="dropdown">
<dt id="menu0-ddheader" onMouseOver="ddMenu('menu0',1)"
onMouseOut="ddMenu('menu0',-1)">
<li><a href="logout.php">Logout</a></li>
</dt>
<dd id="menu0-ddcontent" onMouseOver="cancelHide('menu0')"
onMouseOut="ddMenu('menu0',-1)">
<ul></ul>
</dd>
</dl>
<div class="separator">|</div>
</div>

Listing rekaptahunan.php
<html>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<head>
<title>REKAP CUTI PEGAWAI</title>
<link rel="stylesheet" type="text/css" href="cetak.css">
<link rel="stylesheet" type="text/css" media="print"
href="cetak_media_print.css">
</head>
<body bgcolor="White" onLoad="window.print()"><div class="page">
<div class="page-portrait">
<div class="nobreak">
<table width=100% cellpadding=0 cellspacing=0 border=0>
<tr>
<td>
<?
require "konek.inc";
include "tanggal.php";
?>
<form>
<table width=760 border=0 cellpading=0 cellspacing=0 align=center>
<tr>
<td><b>Program Studi D-3 Komputer FMIPA USU</b></td>
</tr>
<tr>
<td align=center><b><u>REKAPITULASI JUDUL TUGAS AKHIR <? echo
strtoupper($bulan) ." " .date(Y); ?></u></b></td>
</tr>
</table>
</form>
<p class="style3">&nbsp;</p>
<table width=760 border=1 cellpading=0 cellspacing=0 align=center>
<tr>
<td width="145" height="23"><div
align="center"><strong>Nama</strong></div></td>
<td width="166"><div align="center"><strong>NIM</strong></div></td>
<td width="555"><div align="center"><strong>Judul TA
</strong></div></td>
<td width="199"><div align="center"><strong>Dosen Pembimbing
</strong></div></td>
<td width="115"><div align="center"><strong>IPK</strong></div></td>
</tr>
<?
$que="select * from data_mahasiswa";
$result=mysql_query($que);
while($rows=mysql_fetch_array($result)){
?>
<tr align="left">
<td height="23"><? echo $rows['nama'];?></td>
<td><? echo $rows['nim'];?></td>
<td><? echo $rows['judul_ta'];?></td>
<td><? echo $rows['doping'];?></td>
<td><? echo $rows['ipk'];?></td>
</tr>
<? } ?>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

</table>
</td>
</tr>
</table>
</div></div></div>
</body>
</html>

Listing rekapitulasi.php
<?
require "konek.inc";
?>
<form>
<table width=760 border=0 cellpading=0 cellspacing=0 align=center>
<tr>
<td><b>Program Studi D-3 Komputer FMIPA USU</b></td>
</tr>
<tr>
<td align=center><b><u>REKAPITULASI JUDUL TUGAS AKHIR</u></b></td>
</tr>
</table>
</form>
<p class="style3">&nbsp;</p>
<table width=760 border=0 cellpading=0 cellspacing=0 align=center>
<tr>
<td width="145" height="23"><div
align="center"><strong>Nama</strong></div></td>
<td width="166"><div align="center"><strong>NIM</strong></div></td>
<td width="555"><div align="center"><strong>Judul TA
</strong></div></td>
<td width="199"><div align="center"><strong>Dosen Pembimbing
</strong></div></td>
<td width="115"><div align="center"><strong>IPK</strong></div></td>
</tr>
<?
$que="select * from data_mahasiswa";
$result=mysql_query($que);
while($rows=mysql_fetch_array($result)){
?>
<tr align="left">
<td height="23"><? echo $rows['nama'];?></td>
<td><? echo $rows['nim'];?></td>
<td><? echo $rows['judul_ta'];?></td>
<td><? echo $rows['doping'];?></td>
<td><? echo $rows['ipk'];?></td>
</tr>
<? } ?>
</table>

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Listing tambah.php
<?php
require "konek.inc";
$Nama = $_POST['nama'];
$NIM = $_POST['nim'];
$Judul_TA = $_POST['judul_ta'];
$Dosen_Pembimbing = $_POST['doping'];
$IPK = $_POST['ipk'];
$query = "INSERT INTO data_mahasiswa VALUES ('','$Nama', '$NIM','',
'$Judul_TA', '$Dosen_Pembimbing', '$IPK')";
mysql_query($query);
header("location:media.php?modul=tambah&ket=sukses");
?>

Listing tambahdata.php
<style type="text/css">
<!-.style2 {color: #006600}
.style4 {color: #006600; font-size: 18px; }
-->
</style>
<div class="style4">Tambah Judul Tugas Akhir </div>
<p></p>
<form method=post action=tambah.php>
<table border="0" bordercolor="#ffffff" align="center">
<tr>
<td width="132"><span class="style2">Nama</span></td>
<td width="10">:</td>
<td width="480"><input type=text size="100%" name=nama></td>
</tr>
<tr>
<td><span class="style2">NIM</span></td>
<td>:</td>
<td><input type=text size="100%" name=nim></td>
</tr>
<tr>
<td><span class="style2">Judul TA </span></td>
<td>:</td>
<td><input type=text size="100%" name=judul_ta></td>
</tr>
<tr>
<td><span class="style2">Dosen Pembimbing </span></td>
<td>:</td>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<td><input type=text size="100%" name=doping></td>


</tr>
<tr>
<td><span class="style2">IPK</span></td>
<td>:</td>
<td><input type=text size="100%" name=ipk></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type=submit value=Tambah><input type=reset
value=Hapus></td>
</tr>
</table>
</form>

Listing tanggal.php
<?
$engdate=date("l, d F Y, H:i A");
switch (date("l")) {
case "Sunday" : $hari="Minggu"; break;
case "Monday" : $hari="Senin"; break;
case "Tuesday" : $hari="Selasa"; break;
case "Wednesday" : $hari="Rabu"; break;
case "Thursday" : $hari="Kamis"; break;
case "Friday" : $hari="Jumat"; break;
case "Saturday" : $hari="Sabtu"; break;
}
switch (date("m")) {
case "1" : $bulan="Januari"; break;
case "2" : $bulan="Februari"; break;
case "3" : $bulan="Maret"; break;
case "4" : $bulan="April"; break;
case "5" : $bulan="Mei"; break;
case "6" : $bulan="Juni"; break;
case "7" : $bulan="Juli"; break;
case "8" : $bulan="Agustus"; break;
case "9" : $bulan="September"; break;
case "10" : $bulan="Oktober"; break;
case "11" : $bulan="November"; break;
case "12" : $bulan="Desember"; break;
}
$inddate= date("d") ." $bulan ". date("Y");
?>

Listing ubah.php
<?
require "konek.inc";
$namauser1 = $_POST['namauser'];
$passlama = $_POST['passlama'];
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$pass = md5($passlama);
$namauser = md5($namauser1);
$passbaru1 = $_POST['passbaru1'];
$passbaru2 = $_POST['passbaru2'];
$qry = mysql_query("select * from user where namauser = '$namauser' ");
$row = mysql_fetch_array($qry);
if($namauser == $row['namauser'])
{
if($pass == $row['pass'])
{
if($passbaru1 == $passbaru2)
{
$passbaru = md5($passbaru1);
mysql_query("update user set pass = '$passbaru' where
namauser = '$namauser'");
header("Location:
media.php?modul=ubah_pass&ket=sukses");
}
else
header("Location:
media.php?modul=ubah_pass&ket=passtdkcocok");
}
else
header("Location: media.php?modul=ubah_pass&ket=passsalah");
}
else
header("Location: media.php?modul=ubah_pass&ket=namausersalah");
?>

Listing ubah pass.php


<style type="text/css">
<!-.style2 {color: #006600}
.style4 {color: #006600; font-size: 18px; }
-->
</style>
<div class="style4">Form Ubah Password Admin</div>
<p></p>
<form method=post action=ubah.php>
<table border="0" bordercolor="#ffffff" align="center">
<tr>
<td><span class="style2">Nama Admin</span></td>
<td>:</td>
<td><input type=text name=namauser></td>
</tr>
<tr>
<td><span class="style2">Pass Lama</span></td>
<td>:</td>
<td><input type=password name=passlama></td>
</tr>
<tr>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<td><span class="style2">Pass Baru</span></td>


<td>:</td>
<td><input type=password name=passbaru1></td>
</tr>
<tr>
<td><span class="style2">Reenter Pass Baru</span></td>
<td>:</td>
<td><input type=password name=passbaru2></td>
</tr>
<tr>
<td></td>
<td></td>
<td><input type=submit value=Submit><input type=reset
value=Reset></td>
</tr>
</table>
</form>

Listing bacaexcel90.php
<?php
require_once 'Excel2MySQL/excel2mysql.php';

$excel_file = "judul.xls";
$excel2mysql = new Excel2MySQL( $excel_file );
//$excel2mysql->setConvertArea( '$A$1:$E$5' );
$excel2mysql->setRowStart(1);
$excel2mysql->setColStart('A');
$excel2mysql->setColMapping(array('Nama'=>'nama',
'NIM'=>'nim',
'Judul'=>'judul_ta',
'Dosen Pembimbing'=>'doping',
'IPK'=>'ipk'));
$excel2mysql->connectDB
('localhost','root','','tugas_akhir','data_mahasiswa');
$excel2mysql->injectData();
?>

Listing halutama.php
<style type="text/css">
<!-.style2 {font-size: 12px}
.style3 {
font-size: 18px;
color: #006600;
font-family: "Times New Roman", Times, serif;
}
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

.style4 {
font-family: "Times New Roman", Times, serif;
font-size: 14px;
}
.style5 {
color: #006600;
font-weight: bold;
}
.style7 {
color: #006600;
font-size: 14px;
}
.style8 {color: #000000}
.style11 {font-size: 16px; color: #006600; font-family: "Times New
Roman", Times, serif; }
-->
</style>
<div align="center" class="style3">
<h3>D3 Ilmu Komputer</h3>
</div>
<div align="left" class="style2"><font color="#009900">
<?php echo date("l, d F Y");?>
</font></div>
<p><span class="style4">
Program Diloma III Komputer dibuka pada tahun 1993, di bawah Jurusan
Matematika
FMIPA USU. Lapangan kerja yang memungkinkan untuk alumni antara lain:
perusahaan-perusahaan, lembaga-lembaga instansi pemerintahan maupun
swasta, indusri, bidang pertahanan keamanan, perkebunan, bank dan
perkantoran
</span></p>
<p class="style5">Visi</p>
<p><span class="style4">
Menjadi tempat penyediaan tenaga yang profesiona! dan siap pakai di
bidang komputer di wilayah Sumatera Utara tahun 2010.
</span></p>
<p class="style5">Misi</p>
<p><span class="style4">
1. Meningkatkan kualitas staf pengajar di bidang komputer secara
profesional.<br>
2. Meningkatkan sarana dan prasarana laboratorium komputer.<br>
3. Membina kerjasama program studi dengan penguna tenaga kerja.<br>
</span></p>
<p><span class="style4"> Ketua Program Studi: Drs. Mardiningsih, M.Si
</span></p>
<p class="style5">Kurikulum</p>
<p><span class="style4">Keterangan : dalam kurung adalah jumlah
SKS</span></p>
<p class="style7"><strong>Semester I</strong><br>
<span class="style4 style8">UNI108 Bahasa Inggris I (2)<br>
MTH101 Kalkulus I (3)<br>
PHY101 Fisika (2)<br>
UNI107 Bahasa Indonesia (2)<br>
CSC103 Pengenalan Ilmu Komputer (3)<br>
CSC104 Dasar - Dasar Pemrograman (3)<br>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

CSC101 Paket Aplikasi (2)<br>


</span></p>
<p class="style7"><strong>Semester II</strong><br>
<span class="style4 style8">KOM202 Elektronika (2)<br>
KOM207 Metode Statistika II (2)<br>
KOM201 Bahasa Inggris II(2)<br>
KOM204 Paket Aplikasi II (2)<br>
KOM205 Matematika Dasar II (2)<br>
KOM206 Matematika Diskrit II (2)<br>
KOM203 Bahasa Pemrograman II (2)<br>
KOM208 Pengantar Struktur Data (2)</span></p>
<p class="style7"><strong>Semester III</strong><br>
<span class="style4 style8">KOM212 Bhs Pemrograman III (Assembly)
(2)<br>
SPU231 Etika Profesi (2)<br>
KOM215 Aljabar Linier (2)<br>
EKM211 Peng. Manajemen Umum (2)<br>
KOM211 Peng. Sistem Operasi (3)<br>
KOM214 Metode Numerik (3)<br>
KOM221 Dbms (3)
</span></p>
<p class="style7"><strong>Semester IV</strong><br>
<span class="style4 style8">KOM401 Agama (2)<br>
KOM402 Kewiraan (2)<br>
KOM403 Sistem Informasi Manajemen (3)<br>
KOM404 Komputer Grafik (2)<br>
KOM405 Sistem Manajemen Basis Data (3)<br>
KOM407 Rekayasa Perangkat Lunak (2)<br>
KOM406 Pengantar Teknik Kompilasi (2)
</span></p>
<p class="style7"><strong>Semester V</strong><br>
<span class="style4 style8">KOM601 Bahasa Pemrograman Visual (2)<br>
KOM604 Kecerdasan Buatan (2)<br>
KOM312 Metode Penelitian (2)<br>
KOM314 Pemrog. Berorientasi Objek (3)<br>
KOM310 Praktek Kerja Lapangan (2)<br>
KOM311 Analisa Algoritma (3)<br>
KOM315 Analisa Sistem (3)<br>
KOM313 Sistem Jaringan (3)</span></p>
<p class="style7"><strong>Semester VI</strong><br>
<span class="style4 style8">KOM605 Rancangan Berbantuan Komputer (2)<br>
KOM607 Tugas Akhir (4)<br>
KOM606 Sistem Pendukung Keputusan (2)<br>
KOM603 Perancangan Sistem (3)<br>
KOM602 Manajemen Perbankan (2)<br>
</span></p>

Listing panduanta.php
<style type="text/css">
<!-.style2 {font-size: 12px}
.style3 {
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

font-size: 18px;
color: #006600;
font-family: "Times New Roman", Times, serif;
}
.style4 {
font-family: "Times New Roman", Times, serif;
font-size: 14px;
}
.style5 {
color: #006600;
font-weight: bold;
}
.style6 {
font-size: 14px;
color: #006600;
}
-->
</style>
<div align="center" class="style3">Panduan Tugas Akhir</div>
<p class="style5">Pengantar</p>
<p><span class="style4">Tugas Akhir merupakan karya tulis ilmiah hasil
penelitian mandiri untuk memenuhi sebagian persyaratan memperoleh
derajat Diploma D-III pada Program Studi Ilmu Komputer Fakultas MIPA
Universitas Sumatera Utara. Sebelum menjalankan penelitian, mahasiswa
wajib membuat usulan penelitian yang kemudian harus diseminarkan. Usulan
penelitian yang telah disetujui kemudian dilaksanakan oleh mahasiswa dan
hasilnya disusun menjadi tugas akhir. Semua kegiatan itu ditunjang oleh
kemahiran menulis secara ilmiah.<br>
Untuk memperoleh keseragaman dalam penulisan, maka adanya Panduan
Tatacara Penulisan Skripsi dan Tugas Akhir. Buku ini menyajikan garisgaris besar cara penulisan usulan penelitian, tugas akhir, dan laporan
kerja praktek. Di samping itu juga diberikan tata cara penulisan dan
beberapa contoh.<br>
Isi panduan ini dibagi menjadi 5, yaitu:<br>
1. Usulan penelitian tugas akhir,<br>
2. Panduan penulisan tugas akhir,<br>
3. Panduan penulisan laporan kerja praktek,<br>
4. Tata cara penulisan, dan<br>
5. Lampiran yang memuat contoh-contoh.
</span></p>
<p class="style5">Pengertian dan Tujuan</p>
<p><span class="style6"></strong>Pengertian</span></p>
<p><span class="style4">Salah satu kegiatan pendidikan mahasiswa di
perguruan tinggi adalah melakukan penelitian. Hasil penelitian ini
disusun dalam suatu karya ilmiah untuk dipertanggungjawabkan pada akhir
program pendidikannya. Karya ilmiah ini disebut tugas akhir. Dengan
demikian tugas akhir merupakan karya ilmiah yang disusun berdasarkan
hasil penelitian di perpustakaan, di lapangan atau di laboratorium.<br>
Penelitian ini merupakan suatu kegiatan ilmiah yang diarahkan untuk
mengembangkan pengetahuan dengan menggunakan berbagai informasi dan
metodologi dalam bidang ilmu yang melingkupinya.Dalam kegiatan tersebut
mahasiswa dituntut mengerahkan kemahiran berpikir, bersikap dan
bertindak dalam usaha menggali dan mengembangkan pengetahuan yang baru
untuk disumbangkan dalam bidang keahliannya. Selain itu dituntut untuk
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

menerapkan kaidah dan etika ilmiah yang berlaku di lingkungan masyarakat


ilmiah.<br>
</span></p>
<p><span class="style6"></strong>Tujuan</span></p>
<p><span class="style4">
1. memberi kesempatan bagi mahasiswa untuk menunjukkan kemampuan dalam
mengindentifikasi, memformulasi, dan menyelesaikan masalah iptek,<br>2.
sebagai ujian akhir untuk memperoleh kualifikasi Diploma D-III,<br>3.
membantu research and development di institusi perguruan tinggi dan
institusi mitra.</span></p>
<p class="style5">Prosedur Mahasiswa Melakukan Tugas Akhir</p>
<p><span class="style4">
1. Telah menempuh minimal 100 SKS dan sudah lulus semua matakuliah
pendukung.<br>
2. Telah mengikuti mata kuliah Metodologi Penelitian.<br>
3. Telah menyelesaikan Kerja Praktek.<br>
4. Mahasiswa menyerahkan proposal ke bagian Pengajaran dan membuat
kesepakatan untuk jadual seminar pra proposal dengan syarat :<br>
&middot; harus dihadiri oleh dosen yang pernah ditemui untuk
konsultasi (calon pembimbing)<br>
&middot; harus dihadiri minimal satu dosen selain dosen calon
pembimbing<br>
5. Jika dinyatakan lolos dari seminar pra proposal, mahasiswa mengambil
formulir melakukan tugas akhir di bagian pengajaran dan meminta tanda
tangan ke dosen pembimbing.<br>
6. Mahasiswa menyerahkan formulir pendaftaran tugas akhir yang telah
ditandatangani dosen pembimbing ke bagian pengajaran untuk dibuatkan
surat ijin penelitian dan surat keputusan penunjukkan dosen
pembimbing.<br>
7. Mahasiswa menyerahkan/mengirim surat ijin penelitian pada tempat yang
dituju dan surat keputusan penunjukkan dosen pembimbing untuk dosen
pembimbing.<br>
8. Mahasiswa melaksanakan penelitian paling lama 6 (enam) bulan.<br>
9. Mahasiswa konsultasi ke dosen pembimbing minimal 5 (lima) kali (tatap
muka 2 kali + cara lain).</span></p>

Listing peraturanta.php
<style type="text/css">
<!-.style2 {font-size: 12px}
.style3 {
font-size: 18px;
color: #006600;
font-family: "Times New Roman", Times, serif;
}
.style4 {
font-family: "Times New Roman", Times, serif;
font-size: 14px;
}
.style5 {
color: #006600;
font-weight: bold;
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

}
.style6 {
font-size: 14px;
color: #006600;
}
-->
</style>
<div align="center" class="style3">Peraturan Tugas Akhir</div>
<p class="style5">Pendahuluan</p>
<p><span class="style4">Dengan tugas akhir mahasiswa dituntut memiliki
kemampuan mengidentifikasi dan merumuskan permasalahan, menyusun
rencana penelitian, melaksanakan penelitian, pengamatan, pengolahan dan
analisa data, menyusun hasil penelitian dan melaporkannya secara lisan
maupun tertulis dalam bentuk tugas akhir.
</span></p>
<p class="style5">Batasan Pengertian</p>
<p><span class="style4">Batasan pengertian tugas akhir dapat
didifinisikan sebagai berikut. Tugas akhir adalah tugas yang diberikan
kepada mahasiswa pada akhir masa studi dalam bentuk penelitian ilmiah,
kajian pustaka atau kerja pengembangan.</span></p>
<p class="style5">Tujuan</p>
<p><span class="style4">Tugas akhir bertujuan untuk melatih mahasiswa
melakukan penelitian ilmiah secara mandiri dan melaporkan hasilnya
secara tertulis. Setelah menyelesaikan tugas akhir mahasiswa diharapkan
dapat memiliki :<br>
1. kemampuan bekerja mandiri;<br>
2. kemampuan mengembangkan bakat, minat, daya imajinasi, sikap
kreatif, dan inovatif;<br>
3. bekerja secara sistimatis dan tepat waktu;<br>
4. akuntabilitas, jujur, kritis, terpercaya, bertanggung jawab dan
terbuka;<br>
5. kemampuan berargumentasi secara ilmiah;<br>
6. pengalaman membuat skripsi dengan taat asas menggunakan bahasa
Indonesia yang baik dan benar;<br>
7. kemampuan berkomunikasi dan menjalin hubungan interpersonal;<br>
8. pemahaman yang baik mengenai karya ilmiah yang
berkualitas.</span></p>
<p class="style5">Persyaratan Mengikuti Tugas Akhir</p>
<p><span class="style4">Mahasiswa diperbolehkan mem-program matakuliah
tugas akhir dengan persyaratan :<br>
1. telah menyelesaikan/mengumpukan 110 SKS dengan IPK 2.0 dan PP 85%
untuk jurusan Fisika dan Statistika; dan 120 sks dengan IPK 2.0 dan PP
85% untuk jurusan Matematika dan Biologi; <br>
2. mengisi KRS matakuliah tugas akhir dengan beban studi maksimum 12
SKS (tidak termasuk tugas akhir) dengan kehadiran kuliah sesuai dengan
aturan yang berlaku.
</span></p>
<p class="style5">Pelaksanaan</p>
<p><span class="style6"></strong>Komisi Bimbingan Jurusan</span></p>
<p><span class="style4">Program tugas akhir dikoordinir oleh yang
beranggotakan sebanyak 3 orang, dibentuk oleh masing-masing Jurusan dan
ditetapkan oleh Dekan. Rincian tugas Komisi Bimbingan Jurusan adalah
sebagai berikut:<br>
1. mengadakan koordinasi (pertemuan) dengan mahasiswa pemrogram tugas
akhir pada awal semester;<br>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

2. membantu pendistribusian mahasiswa pemrogram tugas akhir pada


Dosen Pembimbing Utama (DPU) dan Dosen Pembimbing Anggota (DPA)
berdasarkan usulan mahasiswa selanjutnya Ketua Jurusan mengusulkan ke
Dekan untuk menerbitkan surat tugas pembimbingan;<br>
3. bersama-sama dengan DPU dan DPA membimbing mahasiswa dalam
perencanaan penelitian, pelaksanaan penelitian dan penulisan tugas
akhir;<br>
4. bekerjasama dengan DPU, DPA dan Dosen Wali memantau dan
mengkoordinir dalam penyelesaian permasalahan yang muncul pada
pelaksanaan tugas akhir termasuk kemungkinan penggantian dosen
pembimbing;<br>
5. menentukan pelaksanaan ujian tugas akhir baik yang berupa seminar
proposal penelitian (Tugas Akhir I) maupun ujian skripsi (Tugas Akhir
II)</span></p>
<p><span class="style6"></strong>Rencana Kerja Tugas Akhir</span></p>
<p><span class="style4">Beberapa hal sehubungan dengan rencana kerja
tugas akhir adalah sebagai berikut:<br>
1. disusun oleh mahasiswa bersama-sama pembimbing;<br>
2. dibuat rangkap 4 untuk Komisi Bimbingan, Pembimbing (2 eksemplar)
dan arsip mahasiswa dan harus dapat diselesaikan paling lambat 2 minggu
setelah dimulainya masa perkuliahan/pemrograman tugas akhir;<br>
3. Berisi uraian singkat (2-3 halaman) tentang topik yang akan
dikerjakan dengan memuat:<br>
&middot; Judul<br>
&middot; Latar Belakang dan Permasalahan<br>
&middot; Tujuan<br>
&middot; Metodologi (tidak wajib untuk jurusan Matematika)<br>
&middot; Jadwal Pelaksanaan<br>
&middot; Pengesahan ditandatangani oleh mahasiswa yang bersangkutan dan
dosen pembimbing.</span></p>
<p><span class="style6"></strong>Lembar Monitoring Tugas
Akhir</span></p>
<p><span class="style4">Untuk memantau kemajuan pekerjaan tugas akhir,
mahasiswa diharuskan mengisi lembar konsultasi/monitoring tugas akhir
dan dikonsultasikan ke dosen pembimbing.</span></p>
<p><span class="style6"></strong>Proposal Tugas Akhir</span></p>
<p><span class="style4">Pada tahap pertama (Tugas Akhir I) mahasiswa
diwajibkan untuk membuat proposal tugas akhir. Proposal tugas akhir
tersebut selanjutnya digunakan sebagai bahan/makalah dan
dipresentasikan dalam seminar proposal.</span></p>
<p><span class="style6"></strong>Penulisan Tugas Akhir</span></p>
<p><span class="style4">Sebagai laporan keseluruhan hasil tugas akhir,
mahasiswa diharuskan membuat laporan dengan ketentuan sebagai
berikut.<br>
1. Mengikuti aturan penulisan karya ilmiah yang terdapat dalam Buku
Pedoman Penulisan Karya Ilmiah Universitas Sumatera Utara.<br>
2. Kerangka isi skripsi mengacu pada format Tugas Akhir.<br>
3. Secara rutin berkonsultasi dengan pembimbing berkaitan dengan
kemajuan penulisan tugas akhir.</span></p>
<p align="left"><strong><span class="style5">Ujian</span></strong></p>
<p><span class="style6"></strong>Tujuan Umum</span></p>
<p><span class="style4">Sebagai calon diploma, mahasiswa diharuskan
mengikuti ujian tugas akhir secara tertutup agar mahasiswa memiliki
pengalaman dan kemampuan untuk berargumentasi secara ilmiah.</span></p>
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

<p><span class="style6"></strong>Persyaratan Ujian Tugas


Akhir</span></p>
<p><span class="style4">Ujian tugas akhir dapat dilaksanakan bila sudah
memenuhi persyaratan sebagai berikut :<br>
1. telah memprogramkan dan menyelesaikan MKU, MKDK, MKK, Magang;<br>
2. nilai matakuliah MKU minimal C<br>
3. telah menyelesaikan SKS = 138 (untuk Jurusan Matematika dan
Biologi) dan = 141 (untuk Jurusan Fisika dan Statistik) dengan IP=
2,00, PP =85% dan tidak ada nilai E;<br>
4. telah mendaftar kebagian akademik lewat Ketua Jurusan dengan
memenuhi persyaratan lainnya yang diperlukan;<br>
5. ujian dapat dibatalkan apabila persyaratan tersebut di atas tidak
dipenuhi.</span></p>
<p><span class="style6"></strong>Pengajuan Ujian Tugas Akhir</span></p>
<p><span class="style4">Prosedur pengajuan ujian skripsi adalah sebagai
berikut:<br>
1. mendaftar/mengajukan permohon-an ke Ketua Jurusan/Komisi Bimbingan;
<br>
2. menyerahkan naskah tugas akhir(bendel sementara) yang telah
disetujui DPU/DPA sebanyak 4 (empat) eksemplar;<br>
3. memenuhi persyaratan administrasi akademik lainnya (lunas SPP,
bebas tanggungan perpustakaan, transkrip sementara, surat keterangan
selesai penelitian,biodata mahasiswa dan lain-lain);<br>
4. Ketua Jurusan/Komisi Bimbingan mengatur jadual ujian tugas akhir
dan membentuk tim penguji untuk selanjutnya mengusulkan ke dekan untuk
menerbitkan surat tugas/surat keputusan menguji.</span></p>
<p><span class="style6"></strong>Penilaian Tugas Akhir</span></p>
<p><span class="style4">Penilaian ujian skripsi didasarkan atas
pelaksanaan penelitian dan penyusunan tugas akhir dengan rincian sebagai
berikut :<br>
1. Pelaksanaan Bimbingan : 10%<br>
2. Kemampuan Penalaran : 20%<br>
3. Sikap Ilmiah : 10%<br>
4. Penguasaan Materi : 40%<br>
5. Penulisan : 20%</span></p>

Listing excel2mysql.php
<?php
require_once 'reader.php';

class Excel2MySQL
{
/**
*
* purpose : convert excel file to mysql data
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

* author : anghuda
* email
: anghuda@yahoo.com
* website : http://blog.lentera.web.id
* cpyrite : anghuda
* lisence : http://www.php.net/license/3_0.txt PHP License 3.0
*
* require : Spreadsheet_Excel_Reader by Vadim Tkachenko
<vt@phpapache.com>
*
* version : 0.0.1 07 July 2008
* ....... : 0.0.2 18 July 2008
**/
private $row_start;
private $col_start;
private $row_end;
private $col_end;
private $col_names;
private $col_tb_names;
private $col_mapping;
private $row_empty_end;
private $col_empty_end;
private $row_head;
private $db_fields;
private $tbl_name;
private $db_name;
private $excel_file;
function __construct( $file )
{
$this->row_start
= 1;
$this->col_start
= 1;
$this->row_empty_end
= 5;
$this->col_empty_end
= 5;
$this->row_end
= 0;
$this->col_end
= 0;
$this->row_head
= false;
$this->col_names
= array();
$this->col_tb_names
= array();
$this->excel_fle
= $file;
}
public function setConvertArea( $area )
{
$num_area
= $this->convertAreatoNumber( $area
);
$this->col_start
$this->row_start
$this->col_end
$this->row_end

= $num_area[1];
= $num_area[2];
= $num_area[3];
= $num_area[4];

}
public function setFirstRowHead()
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

{
$this->row_head = true;
}

public function setRowStart( $start )


{
$this->row_start = $start;
}
public function setRowEnd( $end )
{
$this->row_end = $end;
}
public function setColStart( $str )
{
$this->col_start = $this->strColtoNumber( $str );
}
public function setColEnd( $str )
{
$this->col_end = $this->strColtoNumber( $str );
}
public function setColMapping( $mapping )
{
$this->col_mapping = $mapping;
}
/* convert excel file to array */
public function parse2Array()
{
$sheet = new Spreadsheet_Excel_Reader();
$sheet->setOutputEncoding('UTF-8');
$sheet->read( $this->excel_fle );

$row_end
$col_end

= $this->row_end;
= $this->col_end;

if(empty($row_end)) $row_end = $sheet->sheets[0]['numRows'];


if(empty($col_end)) $col_end = $sheet->sheets[0]['numCols'];

for ( $i = $this->row_start; $i <= $row_end; $i++ )


{

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

for ($j = $this->col_start; $j <= $col_end; $j++)


{
if ( empty( $sheet->sheets[0]['cells'][$i][$j]))
{
/* do nothing if cell is empty */
} else {
if($i==$this->row_start)
{
/* grab column name */
$this->col_names[$j] = $sheet>sheets[0]['cells'][$i][$j];
/* map column name */
if(in_array( $this->col_names[$j],
array_keys($this->col_mapping )))
$this->col_tb_names[$j] =
$this->col_mapping[ $this->col_names[$j] ];

} else {
/* grab cell data */
$contents[$i][ $this>col_tb_names[$j] ] = $sheet->sheets[0]['cells'][$i][$j];
}
}
}
}
return $contents;
}

public function connectDB ($host,$user,$passwd,$db_name,$db_table)


{
$this->db_conn = mysql_connect ($host,$user,$passwd);
$this->db_name = $db_name;
$this->db_table = $db_table;
}
function evalDB() {
$tbl_name = $this->db_table;
$field_names = implode(",", $this->col_tb_names);
$query

= "SELECT $field_names FROM $tbl_name";

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$result = mysql_db_query($this->db_name, $query, $this>db_conn);


$count

= mysql_num_fields($result);

for ($j=0; $j < $count; $j++) {


$type = mysql_field_type($result, $j);
$name = mysql_field_name($result, $j);
$this->db_fields[$name]['type'] = $type;
}
}

public function injectData() {


$arr_data = $this->parse2Array();
$this->evalDB();

$query = "INSERT INTO $this->db_table ( " . implode(',',


$this->col_tb_names) ." ) VALUES ";
$val_query = "";
/* next row for data */
$this->row_start++;
for( $i=$this->row_start; $i < $this>row_start+count($arr_data); $i++ ){

$o_query = "(";
reset($this->col_tb_names);
$v_query = "";
while (list($key, $val) = each($this->col_tb_names))
{
$type = $this->db_fields[ $val ]['type'];
switch( $type ) {
case 'int' :
$v_query .= $arr_data[$i][$val] .
",";
break;
case 'date' :
$v_query .= "'" . $this>xl2timestamp( $arr_data[$i][$val] )."',";
break;
default :
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$v_query .=
"'".$arr_data[$i][$val]."',";
}
}
$v_query = rtrim($v_query,',');
$val_query .= $o_query . $v_query . "),";
}

$val_query

= rtrim($val_query,',') . ";";

/* inject into database */


mysql_query( $query . $val_query);
}
/* convert column characters to numbers */
function strColtoNumber( $str )
{
if( strlen($str) > 1)
{
$arr_str
= str_split($str);
$num_1
= ord( $arr_str[0] ) - 64 + ( (ord(
$arr_str[0] ) - 64) * 25);
$num_2
= ord( $arr_str[1] ) - 64;
return $num_1 + $num_2;
} else {
$num

= ord( $str ) - 64;

return $num;
}
}
/* convert input area string to associative numbers */
function convertAreatoNumber( $area )
{
/* purify input */
$area = str_replace(':','',$area);
$area = ltrim($area,'$');
/* parse column & row number */
list($col_start, $row_start, $col_end, $row_end) =
explode('$', $area);
$num_area[1]
$num_area[2]
$num_area[3]
$num_area[4]

=
=
=
=

$this->strColtoNumber(
$row_start;
$this->strColtoNumber(
$row_end;

$col_start );
$col_end );

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

return $num_area;
}
/* convert excel date to mysql date format */
function xl2timestamp( $xl_date )
{
$excel_timestamp = $xl_date - 25568;
$php_timestamp
=
mktime(0,0,0,1,$excel_timestamp,1970);
$mysql_timestamp

= date('Y-m-d', $php_timestamp);

return $mysql_timestamp;
}
}
?>

Listing OLEread.php
<?php
define('NUM_BIG_BLOCK_DEPOT_BLOCKS_POS', 0x2c);
define('SMALL_BLOCK_DEPOT_BLOCK_POS', 0x3c);
define('ROOT_START_BLOCK_POS', 0x30);
define('BIG_BLOCK_SIZE', 0x200);
define('SMALL_BLOCK_SIZE', 0x40);
define('EXTENSION_BLOCK_POS', 0x44);
define('NUM_EXTENSION_BLOCK_POS', 0x48);
define('PROPERTY_STORAGE_BLOCK_SIZE', 0x80);
define('BIG_BLOCK_DEPOT_BLOCKS_POS', 0x4c);
define('SMALL_BLOCK_THRESHOLD', 0x1000);
// property storage offsets
define('SIZE_OF_NAME_POS', 0x40);
define('TYPE_POS', 0x42);
define('START_BLOCK_POS', 0x74);
define('SIZE_POS', 0x78);
define('IDENTIFIER_OLE',
pack("CCCCCCCC",0xd0,0xcf,0x11,0xe0,0xa1,0xb1,0x1a,0xe1));
//echo 'ROOT_START_BLOCK_POS = '.ROOT_START_BLOCK_POS."\n";
//echo bin2hex($data[ROOT_START_BLOCK_POS])."\n";
//echo "a=";
//echo $data[ROOT_START_BLOCK_POS];
//function log
function GetInt4d($data, $pos)
{
$value = ord($data[$pos]) | (ord($data[$pos+1]) << 8) |
(ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24);
if ($value>=4294967294)
{
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$value=-2;
}
return $value;
}

class OLERead {
var $data = '';

function OLERead(){

}
function read($sFileName){
// check if file exist and is readable (Darko Miljanovic)
if(!is_readable($sFileName)) {
$this->error = 1;
return false;
}
$this->data = @file_get_contents($sFileName);
if (!$this->data) {
$this->error = 1;
return false;
}
//echo IDENTIFIER_OLE;
//echo 'start';
if (substr($this->data, 0, 8) != IDENTIFIER_OLE) {
$this->error = 1;
return false;
}
$this->numBigBlockDepotBlocks = GetInt4d($this->data,
NUM_BIG_BLOCK_DEPOT_BLOCKS_POS);
$this->sbdStartBlock = GetInt4d($this->data,
SMALL_BLOCK_DEPOT_BLOCK_POS);
$this->rootStartBlock = GetInt4d($this->data,
ROOT_START_BLOCK_POS);
$this->extensionBlock = GetInt4d($this->data,
EXTENSION_BLOCK_POS);
$this->numExtensionBlocks = GetInt4d($this->data,
NUM_EXTENSION_BLOCK_POS);
/*
echo $this->numBigBlockDepotBlocks." ";
echo $this->sbdStartBlock." ";
echo $this->rootStartBlock." ";
echo $this->extensionBlock." ";
echo $this->numExtensionBlocks." ";
*/
//echo "sbdStartBlock = $this->sbdStartBlock\n";
$bigBlockDepotBlocks = array();
$pos = BIG_BLOCK_DEPOT_BLOCKS_POS;
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

// echo "pos = $pos";


$bbdBlocks = $this->numBigBlockDepotBlocks;
if ($this->numExtensionBlocks != 0) {
$bbdBlocks = (BIG_BLOCK_SIZE BIG_BLOCK_DEPOT_BLOCKS_POS)/4;
}
for ($i = 0; $i < $bbdBlocks; $i++) {
$bigBlockDepotBlocks[$i] = GetInt4d($this->data, $pos);
$pos += 4;
}

for ($j = 0; $j < $this->numExtensionBlocks; $j++) {


$pos = ($this->extensionBlock + 1) * BIG_BLOCK_SIZE;
$blocksToRead = min($this->numBigBlockDepotBlocks $bbdBlocks, BIG_BLOCK_SIZE / 4 - 1);
for ($i = $bbdBlocks; $i < $bbdBlocks + $blocksToRead; $i++)
{
$bigBlockDepotBlocks[$i] = GetInt4d($this->data, $pos);
$pos += 4;
}
$bbdBlocks += $blocksToRead;
if ($bbdBlocks < $this->numBigBlockDepotBlocks) {
$this->extensionBlock = GetInt4d($this->data, $pos);
}
}
// var_dump($bigBlockDepotBlocks);
// readBigBlockDepot
$pos = 0;
$index = 0;
$this->bigBlockChain = array();
for ($i = 0; $i < $this->numBigBlockDepotBlocks; $i++) {
$pos = ($bigBlockDepotBlocks[$i] + 1) * BIG_BLOCK_SIZE;
//echo "pos = $pos";
for ($j = 0 ; $j < BIG_BLOCK_SIZE / 4; $j++) {
$this->bigBlockChain[$index] = GetInt4d($this->data,
$pos);
$pos += 4 ;
$index++;
}
}
//var_dump($this->bigBlockChain);
//echo '=====2';
// readSmallBlockDepot();
$pos = 0;
$index = 0;
$sbdBlock = $this->sbdStartBlock;
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$this->smallBlockChain = array();
while ($sbdBlock != -2) {
$pos = ($sbdBlock + 1) * BIG_BLOCK_SIZE;
for ($j = 0; $j < BIG_BLOCK_SIZE / 4; $j++) {
$this->smallBlockChain[$index] = GetInt4d($this->data,
$pos);
$pos += 4;
$index++;
}
$sbdBlock = $this->bigBlockChain[$sbdBlock];
}

// readData(rootStartBlock)
$block = $this->rootStartBlock;
$pos = 0;
$this->entry = $this->__readData($block);
/*
while ($block != -2) {
$pos = ($block + 1) * BIG_BLOCK_SIZE;
$this->entry = $this->entry.substr($this->data, $pos,
BIG_BLOCK_SIZE);
$block = $this->bigBlockChain[$block];
}
*/
//echo '==='.$this->entry."===";
$this->__readPropertySets();
}
function __readData($bl) {
$block = $bl;
$pos = 0;
$data = '';
while ($block != -2) {
$pos = ($block + 1) * BIG_BLOCK_SIZE;
$data = $data.substr($this->data, $pos, BIG_BLOCK_SIZE);
//echo "pos = $pos data=$data\n";
$block = $this->bigBlockChain[$block];
}
return $data;
}
function __readPropertySets(){
$offset = 0;
//var_dump($this->entry);
while ($offset < strlen($this->entry)) {
$d = substr($this->entry, $offset,
PROPERTY_STORAGE_BLOCK_SIZE);
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$nameSize = ord($d[SIZE_OF_NAME_POS]) |
(ord($d[SIZE_OF_NAME_POS+1]) << 8);
$type = ord($d[TYPE_POS]);
//$maxBlock = strlen($d) / BIG_BLOCK_SIZE - 1;
$startBlock = GetInt4d($d, START_BLOCK_POS);
$size = GetInt4d($d, SIZE_POS);
$name = '';
for ($i = 0; $i < $nameSize ; $i++) {
$name .= $d[$i];
}
$name = str_replace("\x00", "", $name);
$this->props[] = array (
'name' => $name,
'type' => $type,
'startBlock' => $startBlock,
'size' => $size);
if (($name == "Workbook") || ($name == "Book")) {
$this->wrkbook = count($this->props) - 1;
}
if ($name == "Root Entry") {
$this->rootentry = count($this->props) - 1;
}
//echo "name ==$name=\n";

$offset += PROPERTY_STORAGE_BLOCK_SIZE;
}
}

//

function getWorkBook(){
if ($this->props[$this->wrkbook]['size'] < SMALL_BLOCK_THRESHOLD){
getSmallBlockStream(PropertyStorage ps)

$rootdata = $this->__readData($this->props[$this>rootentry]['startBlock']);
$streamData = '';
$block = $this->props[$this->wrkbook]['startBlock'];
//$count = 0;
$pos = 0;
while ($block != -2) {
$pos = $block * SMALL_BLOCK_SIZE;
$streamData .= substr($rootdata, $pos,
SMALL_BLOCK_SIZE);
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$block = $this->smallBlockChain[$block];
}
return $streamData;

}else{
$numBlocks = $this->props[$this->wrkbook]['size'] /
BIG_BLOCK_SIZE;
if ($this->props[$this->wrkbook]['size'] % BIG_BLOCK_SIZE
!= 0) {
$numBlocks++;
}
if ($numBlocks == 0) return '';
//echo "numBlocks = $numBlocks\n";
//byte[] streamData = new byte[numBlocks * BIG_BLOCK_SIZE];
//print_r($this->wrkbook);
$streamData = '';
$block = $this->props[$this->wrkbook]['startBlock'];
//$count = 0;
$pos = 0;
//echo "block = $block";
while ($block != -2) {
$pos = ($block + 1) * BIG_BLOCK_SIZE;
$streamData .= substr($this->data, $pos,
BIG_BLOCK_SIZE);
$block = $this->bigBlockChain[$block];
}
//echo 'stream'.$streamData;
return $streamData;
}
}
}
?>

Listing reader.php
<?php
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
/**
* A class for reading Microsoft Excel Spreadsheets.
*
* Originally developed by Vadim Tkachenko under the name PHPExcelReader.
* (http://sourceforge.net/projects/phpexcelreader)
* Based on the Java version by Andy Khan (http://www.andykhan.com). Now
* maintained by David Sanders. Reads only Biff 7 and Biff 8 formats.
*
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

* PHP versions 4 and 5


*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category
Spreadsheet
* @package
Spreadsheet_Excel_Reader
* @author
Vadim Tkachenko <vt@apachephp.com>
* @license
http://www.php.net/license/3_0.txt PHP License 3.0
* @version
CVS: $Id: reader.php 19 2007-03-13 12:42:41Z shangxiao $
* @link
http://pear.php.net/package/Spreadsheet_Excel_Reader
* @see
OLE, Spreadsheet_Excel_Writer
*/

//require_once 'PEAR.php';
require_once 'OLERead.php';
//require_once 'OLE.php';
define('SPREADSHEET_EXCEL_READER_BIFF8',
define('SPREADSHEET_EXCEL_READER_BIFF7',
define('SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS',
define('SPREADSHEET_EXCEL_READER_WORKSHEET',

0x600);
0x500);
0x5);
0x10);

define('SPREADSHEET_EXCEL_READER_TYPE_BOF',
define('SPREADSHEET_EXCEL_READER_TYPE_EOF',
define('SPREADSHEET_EXCEL_READER_TYPE_BOUNDSHEET',
define('SPREADSHEET_EXCEL_READER_TYPE_DIMENSION',
define('SPREADSHEET_EXCEL_READER_TYPE_ROW',
define('SPREADSHEET_EXCEL_READER_TYPE_DBCELL',
define('SPREADSHEET_EXCEL_READER_TYPE_FILEPASS',
define('SPREADSHEET_EXCEL_READER_TYPE_NOTE',
define('SPREADSHEET_EXCEL_READER_TYPE_TXO',
define('SPREADSHEET_EXCEL_READER_TYPE_RK',
define('SPREADSHEET_EXCEL_READER_TYPE_RK2',
define('SPREADSHEET_EXCEL_READER_TYPE_MULRK',
define('SPREADSHEET_EXCEL_READER_TYPE_MULBLANK',
define('SPREADSHEET_EXCEL_READER_TYPE_INDEX',
define('SPREADSHEET_EXCEL_READER_TYPE_SST',
define('SPREADSHEET_EXCEL_READER_TYPE_EXTSST',
define('SPREADSHEET_EXCEL_READER_TYPE_CONTINUE',
define('SPREADSHEET_EXCEL_READER_TYPE_LABEL',
define('SPREADSHEET_EXCEL_READER_TYPE_LABELSST',
define('SPREADSHEET_EXCEL_READER_TYPE_NUMBER',
define('SPREADSHEET_EXCEL_READER_TYPE_NAME',
define('SPREADSHEET_EXCEL_READER_TYPE_ARRAY',
define('SPREADSHEET_EXCEL_READER_TYPE_STRING',
define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA',
define('SPREADSHEET_EXCEL_READER_TYPE_FORMULA2',
define('SPREADSHEET_EXCEL_READER_TYPE_FORMAT',
define('SPREADSHEET_EXCEL_READER_TYPE_XF',
define('SPREADSHEET_EXCEL_READER_TYPE_BOOLERR',

0x809);
0x0a);
0x85);
0x200);
0x208);
0xd7);
0x2f);
0x1c);
0x1b6);
0x7e);
0x27e);
0xbd);
0xbe);
0x20b);
0xfc);
0xff);
0x3c);
0x204);
0xfd);
0x203);
0x18);
0x221);
0x207);
0x406);
0x6);
0x41e);
0xe0);
0x205);

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

define('SPREADSHEET_EXCEL_READER_TYPE_UNKNOWN',
0xffff);
define('SPREADSHEET_EXCEL_READER_TYPE_NINETEENFOUR', 0x22);
define('SPREADSHEET_EXCEL_READER_TYPE_MERGEDCELLS', 0xE5);
define('SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS' ,
25569);
define('SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904', 24107);
define('SPREADSHEET_EXCEL_READER_MSINADAY',
86400);
//define('SPREADSHEET_EXCEL_READER_MSINADAY', 24 * 60 * 60);
//define('SPREADSHEET_EXCEL_READER_DEF_NUM_FORMAT', "%.2f");
define('SPREADSHEET_EXCEL_READER_DEF_NUM_FORMAT',
"%s");

/*
* Place includes, constant defines and $_GLOBAL settings here.
* Make sure they have appropriate docblocks to avoid phpDocumentor
* construing they are documented by the page-level docblock.
*/
/**
* A class for reading Microsoft Excel Spreadsheets.
*
* Originally developed by Vadim Tkachenko under the name PHPExcelReader.
* (http://sourceforge.net/projects/phpexcelreader)
* Based on the Java version by Andy Khan (http://www.andykhan.com). Now
* maintained by David Sanders. Reads only Biff 7 and Biff 8 formats.
*
* @category
Spreadsheet
* @package
Spreadsheet_Excel_Reader
* @author
Vadim Tkachenko <vt@phpapache.com>
* @copyright 1997-2005 The PHP Group
* @license
http://www.php.net/license/3_0.txt PHP License 3.0
* @version
Release: @package_version@
* @link
http://pear.php.net/package/PackageName
* @see
OLE, Spreadsheet_Excel_Writer
*/
class Spreadsheet_Excel_Reader
{
/**
* Array of worksheets found
*
* @var array
* @access public
*/
var $boundsheets = array();
/**
* Array of format records found
*
* @var array
* @access public
*/
var $formatRecords = array();
/**
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

* todo
*
* @var array
* @access public
*/
var $sst = array();
/**
* Array of worksheets
*
* The data is stored in 'cells' and the meta-data is stored in an
array
* called 'cellsInfo'
*
* Example:
*
* $sheets --> 'cells' --> row --> column --> Interpreted value
*
--> 'cellsInfo' --> row --> column --> 'type' - Can be
'date', 'number', or 'unknown'
*
--> 'raw' - The raw
data that Excel stores for that data cell
*
* @var array
* @access public
*/
var $sheets = array();
/**
* The data returned by OLE
*
* @var string
* @access public
*/
var $data;
/**
* OLE object for reading the file
*
* @var OLE object
* @access private
*/
var $_ole;
/**
* Default encoding
*
* @var string
* @access private
*/
var $_defaultEncoding;
/**
* Default number format
*
* @var integer
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

* @access private
*/
var $_defaultFormat = SPREADSHEET_EXCEL_READER_DEF_NUM_FORMAT;
/**
* todo
* List of formats to use for each column
*
* @var array
* @access private
*/
var $_columnsFormat = array();
/**
* todo
*
* @var integer
* @access private
*/
var $_rowoffset = 1;
/**
* todo
*
* @var integer
* @access private
*/
var $_coloffset = 1;
/**
* List of default date formats used by Excel
*
* @var array
* @access public
*/
var $dateFormats = array (
0xe => "d/m/Y",
0xf => "d-M-Y",
0x10 => "d-M",
0x11 => "M-Y",
0x12 => "h:i a",
0x13 => "h:i:s a",
0x14 => "H:i",
0x15 => "H:i:s",
0x16 => "d/m/Y H:i",
0x2d => "i:s",
0x2e => "H:i:s",
0x2f => "i:s.S");
/**
* Default number formats used by Excel
*
* @var array
* @access public
*/
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

var $numberFormats = array(


0x1 => "%1.0f",
// "0"
0x2 => "%1.2f",
// "0.00",
0x3 => "%1.0f",
//"#,##0",
0x4 => "%1.2f",
//"#,##0.00",
0x5 => "%1.0f",
/*"$#,##0;($#,##0)",*/
0x6 => '$%1.0f',
/*"$#,##0;($#,##0)",*/
0x7 => '$%1.2f',
//"$#,##0.00;($#,##0.00)",
0x8 => '$%1.2f',
//"$#,##0.00;($#,##0.00)",
0x9 => '%1.0f%%',
// "0%"
0xa => '%1.2f%%',
// "0.00%"
0xb => '%1.2f',
// 0.00E00",
0x25 => '%1.0f',
// "#,##0;(#,##0)",
0x26 => '%1.0f',
//"#,##0;(#,##0)",
0x27 => '%1.2f',
//"#,##0.00;(#,##0.00)",
0x28 => '%1.2f',
//"#,##0.00;(#,##0.00)",
0x29 => '%1.0f',
//"#,##0;(#,##0)",
0x2a => '$%1.0f',
//"$#,##0;($#,##0)",
0x2b => '%1.2f',
//"#,##0.00;(#,##0.00)",
0x2c => '$%1.2f',
//"$#,##0.00;($#,##0.00)",
0x30 => '%1.0f');
//"##0.0E0";
// }}}
// {{{ Spreadsheet_Excel_Reader()
/**
* Constructor
*
* Some basic initialisation
*/
function Spreadsheet_Excel_Reader()
{
$this->_ole =& new OLERead();
$this->setUTFEncoder('iconv');
}
// }}}
// {{{ setOutputEncoding()
/**
* Set the encoding method
*
* @param string Encoding to use
* @access public
*/
function setOutputEncoding($encoding)
{
$this->_defaultEncoding = $encoding;
}
// }}}
// {{{ setUTFEncoder()
/**
* $encoder = 'iconv' or 'mb'
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

* set iconv if you would like use 'iconv' for encode UTF-16LE to
your encoding
* set mb if you would like use 'mb_convert_encoding' for encode
UTF-16LE to your encoding
*
* @access public
* @param string Encoding type to use. Either 'iconv' or 'mb'
*/
function setUTFEncoder($encoder = 'iconv')
{
$this->_encoderFunction = '';
if ($encoder == 'iconv') {
$this->_encoderFunction = function_exists('iconv') ? 'iconv'
: '';
} elseif ($encoder == 'mb') {
$this->_encoderFunction =
function_exists('mb_convert_encoding') ?
'mb_convert_encoding' :
'';
}
}
// }}}
// {{{ setRowColOffset()
/**
* todo
*
* @access public
* @param offset
*/
function setRowColOffset($iOffset)
{
$this->_rowoffset = $iOffset;
$this->_coloffset = $iOffset;
}
// }}}
// {{{ setDefaultFormat()
/**
* Set the default number format
*
* @access public
* @param Default format
*/
function setDefaultFormat($sFormat)
{
$this->_defaultFormat = $sFormat;
}
// }}}
// {{{ setColumnFormat()
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

/**
* Force a column to use a certain format
*
* @access public
* @param integer Column number
* @param string Format
*/
function setColumnFormat($column, $sFormat)
{
$this->_columnsFormat[$column] = $sFormat;
}

// }}}
// {{{ read()
/**
* Read the spreadsheet file using OLE, then parse
*
* @access public
* @param filename
* @todo return a valid value
*/
function read($sFileName)
{
/*
require_once 'OLE.php';
$ole = new OLE();
$ole->read($sFileName);
foreach ($ole->_list as $i => $pps) {
if (($pps->Name == 'Workbook' || $pps->Name == 'Book') &&
$pps->Size >= SMALL_BLOCK_THRESHOLD) {
$this->data = $ole->getData($i, 0, $ole>getDataLength($i));
} elseif ($pps->Name == 'Root Entry') {
$this->data = $ole->getData($i, 0, $ole>getDataLength($i));
}
//var_dump(strlen($ole->getData($i, 0, $ole>getDataLength($i))), $pps->Name, md5($this->data), $ole>getDataLength($i));
}
//exit;
$this->_parse();
return sizeof($this->sheets) > 0;
*/
$res = $this->_ole->read($sFileName);
// oops, something goes wrong (Darko Miljanovic)
if($res === false) {
// check error code
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

if($this->_ole->error == 1) {
// bad file
die('The filename ' . $sFileName . ' is not readable');
}
// check other error codes here (eg bad fileformat, etc...)
}
$this->data = $this->_ole->getWorkBook();

/*
$res = $this->_ole->read($sFileName);
if ($this->isError($res)) {
var_dump($res);
return $this->raiseError($res);
}

//

$total = $this->_ole->ppsTotal();
for ($i = 0; $i < $total; $i++) {
if ($this->_ole->isFile($i)) {
$type = unpack("v", $this->_ole->getData($i, 0, 2));
if ($type[''] == 0x0809) { // check if it's a BIFF
stream
$this->_index = $i;
$this->data = $this->_ole->getData($i, 0, $this>_ole->getDataLength($i));
break;
}
}
}
if ($this->_index === null) {
return $this->raiseError("$file doesn't seem to be an Excel
file");
}
*/
//echo "data =".$this->data;
//$this->readRecords();
$this->_parse();
}

// }}}
// {{{ _parse()
/**
* Parse a workbook
*
* @access private
* @return bool
*/
function _parse()
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

{
$pos = 0;
$code = ord($this->data[$pos]) | ord($this->data[$pos+1])<<8;
$length = ord($this->data[$pos+2]) | ord($this>data[$pos+3])<<8;
$version = ord($this->data[$pos + 4]) | ord($this->data[$pos +
5])<<8;
$substreamType = ord($this->data[$pos + 6]) | ord($this>data[$pos + 7])<<8;
//echo "Start parse code=".base_convert($code,10,16)."
version=".base_convert($version,10,16)."
substreamType=".base_convert($substreamType,10,16).""."\n";
if (($version != SPREADSHEET_EXCEL_READER_BIFF8) &&
($version != SPREADSHEET_EXCEL_READER_BIFF7)) {
return false;
}
if ($substreamType != SPREADSHEET_EXCEL_READER_WORKBOOKGLOBALS){
return false;
}
//print_r($rec);
$pos += $length + 4;
$code = ord($this->data[$pos]) | ord($this->data[$pos+1])<<8;
$length = ord($this->data[$pos+2]) | ord($this>data[$pos+3])<<8;
while ($code != SPREADSHEET_EXCEL_READER_TYPE_EOF) {
switch ($code) {
case SPREADSHEET_EXCEL_READER_TYPE_SST:
//echo "Type_SST\n";
$spos = $pos + 4;
$limitpos = $spos + $length;
$uniqueStrings = $this->_GetInt4d($this->data,
$spos+4);
$spos += 8;
for ($i = 0; $i < $uniqueStrings;
$i++) {
// Read in the number of characters
if ($spos == $limitpos)
{
$opcode = ord($this>data[$spos]) | ord($this->data[$spos+1])<<8;
$conlength = ord($this>data[$spos+2]) | ord($this->data[$spos+3])<<8;
if ($opcode !=
0x3c) {
return 1;
}
$spos += 4;
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$limitpos = $spos +
$conlength;
}
$numChars = ord($this>data[$spos]) | (ord($this->data[$spos+1]) << 8);
//echo "i = $i pos =
$pos numChars = $numChars ";
$spos += 2;
$optionFlags =
ord($this->data[$spos]);
$spos++;
$asciiEncoding = (($optionFlags
& 0x01) == 0) ;
$extendedString = (
($optionFlags & 0x04) != 0);
// See if string
contains formatting information
$richString = (
($optionFlags & 0x08) != 0);
if ($richString) {
// Read in the crun
$formattingRuns
= ord($this->data[$spos]) | (ord($this->data[$spos+1]) << 8);
$spos += 2;
}
if ($extendedString) {
// Read in cchExtRst
$extendedRunLength =
$this->_GetInt4d($this->data, $spos);
$spos += 4;
}
$len = ($asciiEncoding)?
$numChars : $numChars*2;
if ($spos + $len <
$limitpos) {
$retstr
= substr($this->data, $spos, $len);
$spos +=
$len;
}else{
// found
countinue
$retstr =
substr($this->data, $spos, $limitpos - $spos);
$bytesRead =
$limitpos - $spos;
$charsLeft =
$numChars - (($asciiEncoding) ? $bytesRead : ($bytesRead / 2));
$spos =
$limitpos;
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

while
($charsLeft > 0){
$opcode
= ord($this->data[$spos]) | ord($this->data[$spos+1])<<8;
$conlength = ord($this->data[$spos+2]) | ord($this->data[$spos+3])<<8;
if ($opcode != 0x3c) {
return -1;
}
$spos +=
4;
$limitpos = $spos + $conlength;
$option
= ord($this->data[$spos]);
$spos +=
1;
if
($asciiEncoding && ($option == 0)) {
$len = min($charsLeft, $limitpos - $spos); // min($charsLeft,
$conlength);
$retstr .= substr($this->data, $spos, $len);
$charsLeft -= $len;
$asciiEncoding = true;
}elseif (!$asciiEncoding && ($option != 0)){
$len = min($charsLeft * 2, $limitpos - $spos); // min($charsLeft,
$conlength);
$retstr .= substr($this->data, $spos, $len);
$charsLeft -= $len/2;
$asciiEncoding = false;
}elseif (!$asciiEncoding && ($option == 0)) {
//
Bummer - the string starts off as Unicode, but after the
//
continuation it is in straightforward ASCII encoding
$len = min($charsLeft, $limitpos - $spos); // min($charsLeft,
$conlength);
for ($j = 0; $j < $len; $j++) {
$retstr
.= $this->data[$spos + $j].chr(0);
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

}
$charsLeft = $len;
$asciiEncoding = false;
}else{
$newstr =
'';
for
($j = 0; $j < strlen($retstr); $j++) {
$newstr = $retstr[$j].chr(0);
}
$retstr = $newstr;
$len = min($charsLeft * 2, $limitpos - $spos); // min($charsLeft,
$conlength);
$retstr .= substr($this->data, $spos, $len);
$charsLeft -= $len/2;
$asciiEncoding = false;
//echo "Izavrat\n";
}
$spos += $len;
}
}
$retstr =
($asciiEncoding) ? $retstr : $this->_encodeUTF16($retstr);
//
echo "Str $i =
$retstr\n";
if ($richString){
$spos += 4 *
$formattingRuns;
}
// For extended strings,
skip over the extended string data
if ($extendedString) {
$spos +=
$extendedRunLength;
}
//if ($retstr ==
'Derby'){
//

echo

"bb\n";
//}
$this->sst[]=$retstr;
}
/*$continueRecords = array();
while ($this->getNextCode() == Type_CONTINUE) {
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$continueRecords[] = &$this->nextRecord();
}
//echo " 1 Type_SST\n";
$this->shareStrings = new SSTRecord($r,
$continueRecords);
//print_r($this->shareStrings->strings);
*/
// echo 'SST read: '.($time_end-$time_start)."\n";
break;
case SPREADSHEET_EXCEL_READER_TYPE_FILEPASS:
return false;
break;
case SPREADSHEET_EXCEL_READER_TYPE_NAME:
//echo "Type_NAME\n";
break;
case SPREADSHEET_EXCEL_READER_TYPE_FORMAT:
$indexCode = ord($this->data[$pos+4]) |
ord($this->data[$pos+5]) << 8;
if ($version == SPREADSHEET_EXCEL_READER_BIFF8)
{
$numchars = ord($this->data[$pos+6]) |
ord($this->data[$pos+7]) << 8;
if (ord($this->data[$pos+8]) == 0){
$formatString = substr($this->data,
$pos+9, $numchars);
} else {
$formatString = substr($this->data,
$pos+9, $numchars*2);
}
} else {
$numchars = ord($this->data[$pos+6]);
$formatString = substr($this->data, $pos+7,
$numchars*2);
}
$this->formatRecords[$indexCode] = $formatString;
// echo "Type.FORMAT\n";
break;
case SPREADSHEET_EXCEL_READER_TYPE_XF:
//global $dateFormats, $numberFormats;
$indexCode = ord($this->data[$pos+6]) |
ord($this->data[$pos+7]) << 8;
//echo "\nType.XF ".count($this>formatRecords['xfrecords'])." $indexCode ";
if (array_key_exists($indexCode, $this>dateFormats)) {
//echo "isdate ".$this>dateFormats[$indexCode];
$this->formatRecords['xfrecords'][] = array(
'type' => 'date',
'format' => $this>dateFormats[$indexCode]
);
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

}elseif (array_key_exists($indexCode, $this>numberFormats)) {


//echo "isnumber ".$this>numberFormats[$indexCode];
$this->formatRecords['xfrecords'][] = array(
'type' => 'number',
'format' => $this>numberFormats[$indexCode]
);
}else{
$isdate = FALSE;
if ($indexCode > 0){
if (isset($this>formatRecords[$indexCode]))
$formatstr = $this>formatRecords[$indexCode];
//echo '.other.';
//echo "\ndate-time=$formatstr=\n";
if ($formatstr)
if (preg_match("/[^hmsday\/\-:\s]/i",
$formatstr) == 0) { // found day and time format
$isdate = TRUE;
$formatstr = str_replace('mm', 'i',
$formatstr);
$formatstr = str_replace('h', 'H',
$formatstr);
// echo "\ndate-time $formatstr \n";
}
}
if ($isdate){
$this->formatRecords['xfrecords'][] =
array(
'type' => 'date',
'format' => $formatstr,
);
}else{
$this->formatRecords['xfrecords'][] =
array(
'type' => 'other',
'format' => '',
'code' => $indexCode
);
}
}
//echo "\n";
break;
case SPREADSHEET_EXCEL_READER_TYPE_NINETEENFOUR:
//echo "Type.NINETEENFOUR\n";
$this->nineteenFour = (ord($this->data[$pos+4]) ==
1);
break;
case SPREADSHEET_EXCEL_READER_TYPE_BOUNDSHEET:
//echo "Type.BOUNDSHEET\n";
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$rec_offset = $this->_GetInt4d($this->data,
$pos+4);
$rec_typeFlag = ord($this->data[$pos+8]);
$rec_visibilityFlag = ord($this->data[$pos+9]);
$rec_length = ord($this->data[$pos+10]);
if ($version == SPREADSHEET_EXCEL_READER_BIFF8){
$chartype = ord($this->data[$pos+11]);
if ($chartype == 0){
$rec_name
= substr($this->data,
$pos+12, $rec_length);
} else {
$rec_name
= $this>_encodeUTF16(substr($this->data, $pos+12, $rec_length*2));
}
}elseif ($version ==
SPREADSHEET_EXCEL_READER_BIFF7){
$rec_name
= substr($this->data,
$pos+11, $rec_length);
}
$this->boundsheets[] = array('name'=>$rec_name,
'offset'=>$rec_offset);
break;
}
//echo "Code = ".base_convert($r['code'],10,16)."\n";
$pos += $length + 4;
$code = ord($this->data[$pos]) | ord($this>data[$pos+1])<<8;
$length = ord($this->data[$pos+2]) | ord($this>data[$pos+3])<<8;
//$r = &$this->nextRecord();
//echo "1 Code = ".base_convert($r['code'],10,16)."\n";
}
foreach ($this->boundsheets as $key=>$val){
$this->sn = $key;
$this->_parsesheet($val['offset']);
}
return true;
}
/**
* Parse a worksheet
*
* @access private
* @param todo
* @todo fix return codes
*/
function _parsesheet($spos)
{
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$cont = true;
// read BOF
$code = ord($this->data[$spos]) | ord($this->data[$spos+1])<<8;
$length = ord($this->data[$spos+2]) | ord($this>data[$spos+3])<<8;
$version = ord($this->data[$spos + 4]) | ord($this->data[$spos +
5])<<8;
$substreamType = ord($this->data[$spos + 6]) | ord($this>data[$spos + 7])<<8;
if (($version != SPREADSHEET_EXCEL_READER_BIFF8) && ($version !=
SPREADSHEET_EXCEL_READER_BIFF7)) {
return -1;
}
if ($substreamType != SPREADSHEET_EXCEL_READER_WORKSHEET){
return -2;
}
//echo "Start parse code=".base_convert($code,10,16)."
version=".base_convert($version,10,16)."
substreamType=".base_convert($substreamType,10,16).""."\n";
$spos += $length + 4;
//var_dump($this->formatRecords);
//echo "code $code $length";
while($cont) {
//echo "mem= ".memory_get_usage()."\n";
//
$r = &$this->file->nextRecord();
$lowcode = ord($this->data[$spos]);
if ($lowcode == SPREADSHEET_EXCEL_READER_TYPE_EOF) break;
$code = $lowcode | ord($this->data[$spos+1])<<8;
$length = ord($this->data[$spos+2]) | ord($this>data[$spos+3])<<8;
$spos += 4;
$this->sheets[$this->sn]['maxrow'] = $this->_rowoffset - 1;
$this->sheets[$this->sn]['maxcol'] = $this->_coloffset - 1;
//echo "Code=".base_convert($code,10,16)." $code\n";
unset($this->rectype);
$this->multiplier = 1; // need for format with %
switch ($code) {
case SPREADSHEET_EXCEL_READER_TYPE_DIMENSION:
//echo 'Type_DIMENSION ';
if (!isset($this->numRows)) {
if (($length == 10) || ($version ==
SPREADSHEET_EXCEL_READER_BIFF7)){
$this->sheets[$this->sn]['numRows'] =
ord($this->data[$spos+2]) | ord($this->data[$spos+3]) << 8;
$this->sheets[$this->sn]['numCols'] =
ord($this->data[$spos+6]) | ord($this->data[$spos+7]) << 8;
} else {
$this->sheets[$this->sn]['numRows'] =
ord($this->data[$spos+4]) | ord($this->data[$spos+5]) << 8;
$this->sheets[$this->sn]['numCols'] =
ord($this->data[$spos+10]) | ord($this->data[$spos+11]) << 8;
}
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

}
//echo 'numRows '.$this->numRows.' '.$this>numCols."\n";
break;
case SPREADSHEET_EXCEL_READER_TYPE_MERGEDCELLS:
$cellRanges = ord($this->data[$spos]) | ord($this>data[$spos+1])<<8;
for ($i = 0; $i < $cellRanges; $i++) {
$fr = ord($this->data[$spos + 8*$i + 2]) |
ord($this->data[$spos + 8*$i + 3])<<8;
$lr = ord($this->data[$spos + 8*$i + 4]) |
ord($this->data[$spos + 8*$i + 5])<<8;
$fc = ord($this->data[$spos + 8*$i + 6]) |
ord($this->data[$spos + 8*$i + 7])<<8;
$lc = ord($this->data[$spos + 8*$i + 8]) |
ord($this->data[$spos + 8*$i + 9])<<8;
//$this->sheets[$this->sn]['mergedCells'][] =
array($fr + 1, $fc + 1, $lr + 1, $lc + 1);
if ($lr - $fr > 0) {
$this->sheets[$this>sn]['cellsInfo'][$fr+1][$fc+1]['rowspan'] = $lr - $fr + 1;
}
if ($lc - $fc > 0) {
$this->sheets[$this>sn]['cellsInfo'][$fr+1][$fc+1]['colspan'] = $lc - $fc + 1;
}
}
//echo "Merged Cells $cellRanges $lr $fr $lc $fc\n";
break;
case SPREADSHEET_EXCEL_READER_TYPE_RK:
case SPREADSHEET_EXCEL_READER_TYPE_RK2:
//echo 'SPREADSHEET_EXCEL_READER_TYPE_RK'."\n";
$row = ord($this->data[$spos]) | ord($this>data[$spos+1])<<8;
$column = ord($this->data[$spos+2]) | ord($this>data[$spos+3])<<8;
$rknum = $this->_GetInt4d($this->data, $spos + 6);
$numValue = $this->_GetIEEE754($rknum);
//echo $spos.' -> '.$rknum.'<br>';
//echo $numValue.'<br><br>';
if ($this->isDate($spos)) { //$this->isDate($spos)
list($string, $raw) = $this>createDate($numValue);
}else{
$raw = $numValue;
if (isset($this->_columnsFormat[$column + 1])){
$this->curformat = $this>_columnsFormat[$column + 1];
}
$string = sprintf($this->curformat, $numValue *
$this->multiplier);
//$this->addcell(RKRecord($r));
}
$this->addcell($row, $column, $string, $raw);
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

//echo "Type_RK $row $column $string $raw {$this>curformat}\n";


break;
case SPREADSHEET_EXCEL_READER_TYPE_LABELSST:
$row
= ord($this->data[$spos]) |
ord($this->data[$spos+1])<<8;
$column
= ord($this->data[$spos+2]) |
ord($this->data[$spos+3])<<8;
$xfindex
= ord($this->data[$spos+4]) |
ord($this->data[$spos+5])<<8;
$index = $this->_GetInt4d($this->data, $spos +
6);
//var_dump($this->sst);
$this->addcell($row, $column, $this>sst[$index]);
//echo "LabelSST $row $column $string\n";
break;
case SPREADSHEET_EXCEL_READER_TYPE_MULRK:
$row
= ord($this->data[$spos]) | ord($this>data[$spos+1])<<8;
$colFirst
= ord($this->data[$spos+2]) | ord($this>data[$spos+3])<<8;
$colLast
= ord($this->data[$spos + $length - 2])
| ord($this->data[$spos + $length - 1])<<8;
$columns
= $colLast - $colFirst + 1;
$tmppos = $spos+4;
for ($i = 0; $i < $columns; $i++) {
$numValue = $this->_GetIEEE754($this>_GetInt4d($this->data, $tmppos + 2));
if ($this->isDate($tmppos-4)) {
list($string, $raw) = $this>createDate($numValue);
}else{
$raw = $numValue;
if (isset($this->_columnsFormat[$colFirst +
$i + 1])){
$this->curformat = $this>_columnsFormat[$colFirst + $i + 1];
}
$string = sprintf($this->curformat,
$numValue * $this->multiplier);
}
//$rec['rknumbers'][$i]['xfindex'] =
ord($rec['data'][$pos]) | ord($rec['data'][$pos+1]) << 8;
$tmppos += 6;
$this->addcell($row, $colFirst + $i, $string,
$raw);
//echo "MULRK $row ".($colFirst + $i)."
$string\n";
}
//MulRKRecord($r);
// Get the individual cell records from the multiple
record
//$num = ;
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

break;
case SPREADSHEET_EXCEL_READER_TYPE_NUMBER:
$row
= ord($this->data[$spos]) | ord($this>data[$spos+1])<<8;
$column = ord($this->data[$spos+2]) | ord($this>data[$spos+3])<<8;
$tmp = unpack("ddouble", substr($this->data, $spos +
6, 8)); // It machine machine dependent
if ($this->isDate($spos)) {
list($string, $raw) = $this>createDate($tmp['double']);
//
$this->addcell(DateRecord($r, 1));
}else{
//$raw = $tmp[''];
if (isset($this->_columnsFormat[$column + 1])){
$this->curformat = $this>_columnsFormat[$column + 1];
}
$raw = $this->createNumber($spos);
$string = sprintf($this->curformat, $raw *
$this->multiplier);
//
$this->addcell(NumberRecord($r));
}
$this->addcell($row, $column, $string, $raw);
//echo "Number $row $column $string\n";
break;
case SPREADSHEET_EXCEL_READER_TYPE_FORMULA:
case SPREADSHEET_EXCEL_READER_TYPE_FORMULA2:
$row
= ord($this->data[$spos]) | ord($this>data[$spos+1])<<8;
$column = ord($this->data[$spos+2]) | ord($this>data[$spos+3])<<8;
if ((ord($this->data[$spos+6])==0) && (ord($this>data[$spos+12])==255) && (ord($this->data[$spos+13])==255)) {
//String formula. Result follows in a STRING
record
//echo "FORMULA $row $column Formula with a
string<br>\n";
} elseif ((ord($this->data[$spos+6])==1) &&
(ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255))
{
//Boolean formula. Result is in +2;
0=false,1=true
} elseif ((ord($this->data[$spos+6])==2) &&
(ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255))
{
//Error formula. Error code is in +2;
} elseif ((ord($this->data[$spos+6])==3) &&
(ord($this->data[$spos+12])==255) && (ord($this->data[$spos+13])==255))
{
//Formula result is a null string.
} else {
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

// result is a number, so first 14 bytes are


just like a _NUMBER record
$tmp = unpack("ddouble", substr($this->data,
$spos + 6, 8)); // It machine machine dependent
if ($this->isDate($spos)) {
list($string, $raw) = $this>createDate($tmp['double']);
//
$this->addcell(DateRecord($r, 1));
}else{
//$raw = $tmp[''];
if (isset($this->_columnsFormat[$column +
1])){
$this->curformat = $this>_columnsFormat[$column + 1];
}
$raw = $this->createNumber($spos);
$string = sprintf($this->curformat, $raw *
$this->multiplier);
//
$this->addcell(NumberRecord($r));
}
$this->addcell($row, $column, $string, $raw);
//echo "Number $row $column $string\n";
}
break;
case SPREADSHEET_EXCEL_READER_TYPE_BOOLERR:
$row
= ord($this->data[$spos]) | ord($this>data[$spos+1])<<8;
$column = ord($this->data[$spos+2]) | ord($this>data[$spos+3])<<8;
$string = ord($this->data[$spos+6]);
$this->addcell($row, $column, $string);
//echo 'Type_BOOLERR '."\n";
break;
case SPREADSHEET_EXCEL_READER_TYPE_ROW:
case SPREADSHEET_EXCEL_READER_TYPE_DBCELL:
case SPREADSHEET_EXCEL_READER_TYPE_MULBLANK:
break;
case SPREADSHEET_EXCEL_READER_TYPE_LABEL:
$row
= ord($this->data[$spos]) | ord($this>data[$spos+1])<<8;
$column = ord($this->data[$spos+2]) | ord($this>data[$spos+3])<<8;
$this->addcell($row, $column, substr($this->data,
$spos + 8, ord($this->data[$spos + 6]) | ord($this->data[$spos +
7])<<8));
// $this->addcell(LabelRecord($r));
break;
case SPREADSHEET_EXCEL_READER_TYPE_EOF:
$cont = false;
break;
default:
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

//echo ' unknown


:'.base_convert($r['code'],10,16)."\n";
break;
}
$spos += $length;
}
if (!isset($this->sheets[$this->sn]['numRows']))
$this->sheets[$this->sn]['numRows'] = $this->sheets[$this>sn]['maxrow'];
if (!isset($this->sheets[$this->sn]['numCols']))
$this->sheets[$this->sn]['numCols'] = $this->sheets[$this>sn]['maxcol'];
}
/**
* Check whether the current record read is a date
*
* @param todo
* @return boolean True if date, false otherwise
*/
function isDate($spos)
{
//$xfindex = GetInt2d(, 4);
$xfindex = ord($this->data[$spos+4]) | ord($this->data[$spos+5])
<< 8;
//echo 'check is date '.$xfindex.' '.$this>formatRecords['xfrecords'][$xfindex]['type']."\n";
//var_dump($this->formatRecords['xfrecords'][$xfindex]);
if ($this->formatRecords['xfrecords'][$xfindex]['type'] ==
'date') {
$this->curformat = $this>formatRecords['xfrecords'][$xfindex]['format'];
$this->rectype = 'date';
return true;
} else {
if ($this->formatRecords['xfrecords'][$xfindex]['type'] ==
'number') {
$this->curformat = $this>formatRecords['xfrecords'][$xfindex]['format'];
$this->rectype = 'number';
if (($xfindex == 0x9) || ($xfindex == 0xa)){
$this->multiplier = 100;
}
}else{
$this->curformat = $this->_defaultFormat;
$this->rectype = 'unknown';
}
return false;
}
}
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

//}}}
//{{{ createDate()
/**
* Convert the raw Excel date into a human readable format
*
* Dates in Excel are stored as number of seconds from an epoch. On
* Windows, the epoch is 30/12/1899 and on Mac it's 01/01/1904
*
* @access private
* @param integer The raw Excel value to convert
* @return array First element is the converted date, the second
element is number a unix timestamp
*/
function createDate($numValue)
{
if ($numValue > 1) {
$utcDays = $numValue - ($this->nineteenFour ?
SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904 :
SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS);
$utcValue = round(($utcDays+1) *
SPREADSHEET_EXCEL_READER_MSINADAY);
$string = date ($this->curformat, $utcValue);
$raw = $utcValue;
} else {
$raw = $numValue;
$hours = floor($numValue * 24);
$mins = floor($numValue * 24 * 60) - $hours * 60;
$secs = floor($numValue * SPREADSHEET_EXCEL_READER_MSINADAY)
- $hours * 60 * 60 - $mins * 60;
$string = date ($this->curformat, mktime($hours, $mins,
$secs));
}
return array($string, $raw);
}
function createNumber($spos)
{
$rknumhigh = $this->_GetInt4d($this->data, $spos + 10);
$rknumlow = $this->_GetInt4d($this->data, $spos + 6);
//for ($i=0; $i<8; $i++) { echo ord($this->data[$i+$spos+6]) . "
"; } echo "<br>";
$sign = ($rknumhigh & 0x80000000) >> 31;
$exp = ($rknumhigh & 0x7ff00000) >> 20;
$mantissa = (0x100000 | ($rknumhigh & 0x000fffff));
$mantissalow1 = ($rknumlow & 0x80000000) >> 31;
$mantissalow2 = ($rknumlow & 0x7fffffff);
$value = $mantissa / pow( 2 , (20- ($exp - 1023)));
if ($mantissalow1 != 0) $value += 1 / pow (2 , (21 - ($exp 1023)));
$value += $mantissalow2 / pow (2 , (52 - ($exp - 1023)));
//echo "Sign = $sign, Exp = $exp, mantissahighx = $mantissa,
mantissalow1 = $mantissalow1, mantissalow2 = $mantissalow2<br>\n";
if ($sign) {$value = -1 * $value;}
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

return

$value;

}
function addcell($row, $col, $string, $raw = '')
{
//echo "ADD cel $row-$col $string\n";
$this->sheets[$this->sn]['maxrow'] = max($this->sheets[$this>sn]['maxrow'], $row + $this->_rowoffset);
$this->sheets[$this->sn]['maxcol'] = max($this->sheets[$this>sn]['maxcol'], $col + $this->_coloffset);
$this->sheets[$this->sn]['cells'][$row + $this->_rowoffset][$col
+ $this->_coloffset] = $string;
if ($raw)
$this->sheets[$this->sn]['cellsInfo'][$row + $this>_rowoffset][$col + $this->_coloffset]['raw'] = $raw;
if (isset($this->rectype))
$this->sheets[$this->sn]['cellsInfo'][$row + $this>_rowoffset][$col + $this->_coloffset]['type'] = $this->rectype;
}

function _GetIEEE754($rknum)
{
if (($rknum & 0x02) != 0) {
$value = $rknum >> 2;
} else {
//mmp
// first comment out the previously existing 7 lines of code here
//
$tmp = unpack("d", pack("VV", 0, ($rknum &
0xfffffffc)));
//
//$value = $tmp[''];
//
if (array_key_exists(1, $tmp)) {
//
$value = $tmp[1];
//
} else {
//
$value = $tmp[''];
//
}
// I got my info on IEEE754 encoding from
// http://research.microsoft.com/~hollasch/cgindex/coding/ieeefloat.html
// The RK format calls for using only the most significant 30 bits of
the
// 64 bit floating point value. The other 34 bits are assumed to be 0
// So, we use the upper 30 bits of $rknum as follows...
$sign = ($rknum & 0x80000000) >> 31;
$exp = ($rknum & 0x7ff00000) >> 20;
$mantissa = (0x100000 | ($rknum & 0x000ffffc));
$value = $mantissa / pow( 2 , (20- ($exp - 1023)));
if ($sign) {$value = -1 * $value;}
//end of changes by mmp
}
if (($rknum & 0x01) != 0) {
$value /= 100;
}
Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

return $value;
}
function _encodeUTF16($string)
{
$result = $string;
if ($this->_defaultEncoding){
switch ($this->_encoderFunction){
case 'iconv' :
$result = iconv('UTF-16LE', $this>_defaultEncoding, $string);
break;
case 'mb_convert_encoding' :
$result =
mb_convert_encoding($string, $this->_defaultEncoding, 'UTF-16LE' );
break;
}
}
return $result;
}
function _GetInt4d($data, $pos)
{
$value = ord($data[$pos]) | (ord($data[$pos+1]) << 8) |
(ord($data[$pos+2]) << 16) | (ord($data[$pos+3]) << 24);
if ($value>=4294967294)
{
$value=-2;
}
return $value;
}
}
/*
* Local variables:
* tab-width: 4
* c-basic-offset: 4
* c-hanging-comment-ender-p: nil
* End:
*/
?>

Listing xample.php
<?php
require_once 'Excel2MySQL/excel2mysql.php';

$excel_file = "samplex.xls";
$excel2mysql = new Excel2MySQL( $excel_file );
//$excel2mysql->setConvertArea( '$A$1:$E$5' );

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

$excel2mysql->setRowStart(1);
$excel2mysql->setColStart('A');
$excel2mysql->setColMapping(array('NAME'=>'member_name',
'BIRTHDAY'=>'member_birthday',
'CITY'=>'member_city',
'EMAIL'=>'member_email'));
$excel2mysql->connectDB ('localhost','root','','tesexcel','members');
$excel2mysql->injectData();
?>

Fadly Siswanto : Sistem Informasi Tugas Akhir Mahasiswa D3 Ilmu Komputer Fakultas Mipa Universitas Sumatera Utara,
2009.

Anda mungkin juga menyukai