Fendy Setiawan M3109031

(1)

commit to user

i

IMPLEMENTASI DAN TEST PERFORMA DBMS NoSQL PADA SISTEM INFORMASI MAHASISWA D3 TEKNIK INFORMATIKA

UNIVERSITAS SEBELAS MARET

TUGAS AKHIR

Diajukan Untuk Memenuhi Salah Satu Syarat Mencapai Gelar Ahli Madya Program Diploma III Teknik Informatika

Diajukan Oleh: FENDY SETIAWAN

NIM. M3109031

PROGRAM DIPLOMA III TEKNIK INFORMATIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SEBELAS MARET


(2)

commit to user

ii

HALAMAN PERSETUJUAN

IMPLEMENTASI DAN TEST PERFORMA DBMS NoSQL PADA SISTEM INFORMASI MAHASISWA D3 TEKNIK INFORMATIKA

UNIVERSITAS SEBELAS MARET

Disusun Oleh:

FENDY SETIAWAN NIM. M3109031

Tugas akhir ini telah disetujui untuk dipertahankan di hadapan dewan penguji pada tanggal 26 Juni 2012

Pembimbing Utama

Rudi Hartono, S.Si

NIDN.0626128402


(3)

commit to user

iii

HALAMAN PENGESAHAN

IMPLEMENTASI DAN TEST PERFORMA DBMS NoSQL PADA SISTEM INFORMASI MAHASISWA D3 TEKNIK INFORMATIKA

UNIVERSITAS SEBELAS MARET

DisusunOleh: FENDY SETIAWAN

NIM. M3109031

Tugas Akhirinitelahditerima dan disahkanolehdewanpenguji Tugas AkhirProgram Diploma III TeknikInformatika

Pada hariSelasa 26 Juni 2012 Dewanpenguji :

1. Drs. Y.S.Palgunadi, M.Sc ( )

NIP. 19560407 198303 1 004

2. Meiyanto Eko S, S.T, M.Eng ( )

NIP. 19770513 200912 1 004

3. Rudi Hartono, S.Si ( )

NIDN. 0626128402


(4)

commit to user

iv

ABSTRACT

Fendy Setiawan ,2012. IMPLEMENTATION AND PERFORMANCE TEST

NoSQL DBMS ON INFORMATION SYSTEMS D3 AT INFORMATION

ENGINEERING STUDENTS SEBELAS MARET UNIVERSITY. DIII

Program Information Engineering Faculty of Mathematics and Natural Sciences Sebelas Maret University Surakarta.

Developments in information technology, particularly information systems, has brought the ease of that promised a work efficiency. Sebelas Maret University of Surakarta already has a student information system in general, but every faculty do not have a student information to facilitate the search for the data of students in each department. Information system certainly requires a data storage medium that is the database. Data storage must have a good performance that is fast, lightweight and capable of storing very large data in which the review says that NoSQL performs better than MySQL.

To find out the performance of the DBMS NoSQL (Document Oriented Database) is a DBMS MongoDB, the author make a simulation for D3 Student Information System Information Technology with the concept of document-oriented database using MongoDB and the PHP programming language. Testing the performance of the database is necessary to know that NoSQL database database performance is better than MySQL database

It has been demonstrated that NoSQL database is better than the MySQL database to display the data and insert request data from 100 to 10,000 load request and note that the response time is smaller than the MongoDB MySQL in this case does not mean that MySQL is replaced by NoSQL but NoSQL developed to solve various problems that can not be handled by a relational database, the problem of scalability for large data processing. If the data are used in applications will be developed into larger, then the NoSQL can be considered an alternative for data storage.


(5)

commit to user

v

ABSTRAK

Fendy Setiawan ,2012. IMPLEMENTASI DAN TEST PERFORMA DBMS

NoSQL PADA SISTEM INFORMASI MAHASISWA D3 TEKNIK

INFORMATIKA UNIVERSITAS SEBELAS MARET. Program DIII Teknik

Informatika. Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.

Perkembangan di bidang teknologi informasi, khususnya sistem informasi, telah membawa kemudahan yang menjanjikan sebuah efisiensi kerja. Universitas Sebelas Maret Surakarta sudah memiliki system informasi mahasiswa secara umum namun di setiap fakultas belum memiliki informasi mahasiswa untuk memudahkan mencari data mahasiswa disetiap jurusan. Tentunya system

informasi memerlukan suatu media penyimpanan data yaitu database.

Penyimpanan data haruslah memiliki performa yang baik yaitu cepat, ringan dan

mampu menyimpan data yang sangat besar dimana dalam review mengatakan

bahwa NoSQL performanya lebih baik daripada MySQL.

Untuk mengetahui performa dari DBMS NoSQL (Dokumen Basis Data Berorientasi) adalah DBMS MongoDB, penulis membuat simulasi untuk Sistem Informasi Mahasiswa D3 Teknik Informatika dengan konsep database Dokumen Berorientasi menggunakan MongoDB dan bahasa pemrograman PHP. Pengetesan

performa dari database sangat diperlukan untuk mengetahui bahwa database

NoSQL database performanya lebih baik daripada database MySQL

Telah dibuktikan bahwa database NoSQL lebih baik daripada database

MySQL melakukan request menampilkan data dan insert data dari 100 sampai

10.000 load request dan diketahui bahwa time request mongoDB lebih kecil dari

pada MySQL dalam hal ini bukan berarti MySQL digantikan oleh NoSQL namun NoSQL dikembangkan untuk menyelesaikan berbagai masalah yang tidak bisa ditangani oleh basis data relasional, yaitu masalah skalabilitas untuk pemrosesan data berukuran besar. Jika data yang gunakan dalam aplikasi nanti akan berkembang menjadi berukuran besar, maka NoSQL dapat menjadi pertimbangan alternatif sebagai penyimpanan data .


(6)

commit to user

vi

HALAMAN MOTTO

“Sesungguhnya sesudah kesulitan itu ada kemudahan, maka apabila kamu telah selesai (dari suatu urusan), kerjakanlah dengan sungguh-sungguh

(urusan) yang lain” (QS. Alam Nasyirah: 6-7)


(7)

commit to user

vii

HALAMAN PERSEMBAHAN

Ku persembahkan karyaku ini untuk : Ibukku tersayang , Bapakku, adikku, kekasihku,

Teman D3 informatika angkatan 2009, Teman – teman Anggota Braderhud yang telah berusaha bersama selama 3 tahun ini


(8)

commit to user

viii

KATA PENGANTAR

Segala puji dan rasa syukur hanya penulis panjatkan ke hadirat Allah

SWT, yang telah melimpahkan segala kemudahannya hingga akhirnya penulis

mampu menyelesaikan Tugas Akhir dan menuliskan laporannya tepat waktu. Dalam pelaksanaan Tugas Akhir, yang didalamnya termasuk kegiatan pembuatan laporan ini, penulis mendapat banyak bantuan dari berbagai pihak. Tanpa bantuan Allah SWT melalui tangan mereka niscaya Tugas Akhir penulis tidak akan berjalan dengan lancar. Untuk itu penulis sampaikan rasa hormat dan menghaturkan rasa terima kasih kepada:

1. Drs. YS. Palgunadi, M.Sc., selaku Ketua Program Diploma III Teknik

Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sebelas Maret Surakarta.

2. Rudi Hartono, S.Si., selaku pembimbing, yang telah memberikan bimbingan,

nasehat, kritik dan saran selama penyusunan tugas akhir dan telah membuka mata penulis akan ilmu-ilmu yang sempat tidak terpandang oleh penulis.

3. Meiyanto Eko S, S.T, M.Eng, selaku dewan penguji yang telah menguji

laporan tugas akhir dengan maksimal.

4. Bapak, Ibu, serta Adikku atas doa, kasih sayang, perhatian dan segalanya yang

telah menjadikan penulis selalu semangat dan termotivasi untuk melakukan yang terbaik.

5. Teman – teman anggota Braderhud terima kasih atas segala support dan

bantuan kalian.

6. Seluruh pihak-pihak yang tidak dapat penulis cantumkan satu persatu, atas

segala bimbingan, bantuan, kritik dan saran dalam penyusunan tugas akhir ini. Semoga laporan ini dapat bermanfaat bagi semua pihak terutama bagi mahasiswa Diploma III Teknik Informatika Fakultas Matematika dan Ilmu Pengetahuan Alam, Universitas Sebelas Maret Surakarta.

Wonogiri, 01 Juni 2012


(9)

commit to user

ix

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN PERSETUJUAN ... ii

HALAMAN PENGESAHAN ... iii

ABSTRACT ... iv

HALAMAN MOTTO ... vi

HALAMAN PERSEMBAHAN ... vii

KATA PENGANTAR ... viii

DAFTAR ISI ... ix

DAFTAR TABEL ... xii

DAFTAR GAMBAR ... xiii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Perumusan Masalah... 2

1.3 Batasan Masalah ... 2

1.4 Tujuan dan Manfaat ... 2

1.5 Metodologi Penelitian ... 3

1.6 Sistematika Penulisan ... 4

BAB II LANDASAN TEORI ... 6

2.1 Sistem Informasi ... 6

2.2 Analisis Sistem ... 7

2.3 Perancangan Sistem... 9

2.4 Database (basis data) ... 10

BAB III ANALISIS DAN PERANCANGAN ... 15

3.1 Analisis Kebutuhan ... 15

3.1.1 Kebutuhan Hardware... 15

3.1.1.1 Kebutuhan hardware untuk pembuatan ... 15

3.1.1.2 Kebutuhan hardware untuk pengujian... 15

3.1.2 Kebutuhan Software ... 15


(10)

commit to user

x

3.1.2.1 Kebutuhan software untuk pengujian ... 16

3.2 Deskripsi Umum Sistem... 19

3.3 Fungsi-fungsi Perangkat Lunak Sistem ... 19

3.4 Perancangan Sistem... 19

3.4.2 Data Flow Diagram Level 0 ... 20

3.4.3 Flow Diagram MongoDB... 21

3.5 ERD (Entity Relationship Diagram) ... 22

3.6 Relasi Antar Tabel ... 23

3.7 Diagram Alir (Flowchart) ... 24

3.7.1 Flowchart proses login ... 24

3.7.2 Flowchart proses input data... 25

3.7.3 Flowchart proses edit data ... 26

3.8 Perancangan Database ... 30

3.9 Rancangan Desain Antarmuka ... 35

3.9.1 Halaman Admin ... 35

3.9.1.1 Rancangan login ... 35

3.9.1.2 Rancangan halaman utama ... 35

3.9.1.3 Rancangan halaman data mahasiswa ... 36

3.9.1.4 Rancangan halaman data mahasiswa alumni ... 36

3.9.1.7 Rancangan halaman data dosen... 37

3.9.2 Halaman user ... 37

3.9.2.1 Rancangan halaman utama ... 37

3.9.2.3 Rancangan halaman data mahasiswa ... 38

3.9.2.5 Rancangan halaman data mahasiswa Alumni ... 39

3.9.2.6 Rancangan halaman statistik ... 39

3.9.2.7 Rancangan halaman data dosen... 40

BAB IV IMPLEMENTASI DAN ANALISA PENGUJIAN ... 41

4.1 Implementasi Aplikasi ... 41

4.2 Screenshot Aplikasi Dan Penjelasan ... 45

4.3 Analisa Pengujian ... 58


(11)

commit to user

xi

5.1 Kesimpulan ... 69 5.2 Saran ... 69 DAFTAR PUSTAKA ... 70


(12)

commit to user

xii

DAFTAR TABEL

Tabel 2.1 Simbol dalam DFD... 8

Tabel 2.2 Simbol dalam ERD ... 9

Tabel 2.3 Simbol dalam Flowchart ... 10

Tabel 3.1 Tabel admin ... 27

Tabel 3.2 Tabel user ... 27

Tabel 3.3 Tabel dosen ... 28

Tabel 3.4 Tabel pengumuman ... 28

Tabel 3.5 Tabel mahasiswa ... 29

Tabel 3.6 Tabel alumni ... 30

Tabel 4.1 Tabel hasil test request menampilkan data mahasiswa ... 55

Tabel 4.2 Tabel hasil test insert dat pengumuman ... 56

Tabel 4.3 Tabel hasil test request menampilkan pengumuman ... 58

Tabel 4.4 Table hasil test response menampilkan data mahasiswa ... 58


(13)

commit to user

xiii

DAFTAR GAMBAR

Gambar 2.1 komponen model data... 12

Gambar 2.2 bentuk struktur data ... 12

Gambar 3.1 Data flow diagram level 0 ... 20

Gambar 3.2 Flow diagram ... 20

Gambar 3.3 Data flow diagram level 1 ... 22

Gambar 3.4 DFD Level 2 manage mahasiswa ... 23

Gambar 3.5 flow diagram sistem ... 24

Gambar 3.6 flow diagram manage mahasiswa ... 24

Gambar 3.7 Entity relationship diagram ... 25

Gambar 3.8 Diagram mongoDB ... 26

Gambar 3.9 Relasi antar tabel ... 23

Gambar 3.10 Flowchart proses login ... 27

Gambar 3.11 Flowchart proses input data ... 28

Gambar 3.12 Flowchart edit data ... 29

Gambar 3.13 Rancangan login ... 35

Gambar 3.14 Rancangan halaman utama admin ... 35

Gambar 3.15 Rancangan halaman data mahasiswa untuk admin ... 36

Gambar 3.16 Rancangan halaman alumni untuk admin ... 36

Gambar 3.17 Rancangan halaman data dosen untuk admin ... 37

Gambar 3.18 Rancangan halaman utama user ... 38

Gambar 3.19 Rancangan halaman data mahasiswa untuk user... 38

Gambar 3.20 Rancangan halaman mahasiswa alumni untuk user ... 39

Gambar 3.21 Rancangan halaman statistik untuk user ... 39

Gambar 3.22 Rancangan halaman data dosen untuk user ... 40

Gambar 4.1 Halaman login ... 45

Gambar 4.2 Halaman peringatan login... 46

Gambar 4.3 Halaman utama admin ... 46

Gambar 4.4 Halaman utama user ... 47


(14)

commit to user

xiv

Gambar 4.6 Halaman admin Data mahasiswa... 48

Gambar 4.7 Halaman admin detail Data mahasiswa ... 49

Gambar 4.8 Halaman admin peringatan hapus Data mahasiswa ... 49

Gambar 4.9 Halaman admin edit data mahasiswa ... 49

Gambar 4.10 Halaman admin tambah data mahasiswa ... 50

Gambar 4.11 Halaman user data mahasiswa ... 50

Gambar 4.12 Halaman user detail data mahasiswa ... 51

Gambar 4.13 Halaman login user ... 51

Gambar 4.14 Halaman admin data mahasiswa alumni ... 52

Gambar 4.15 Halaman admin detail data mahasiswa alumni ... 52

Gambar 4.16 Halaman user data mahasiswa alumni ... 53

Gambar 4.17 Halaman user detail data mahasiswa alumni ... 53

Gambar 4.18 Halaman user statistik jumlah mahasiswa ... 54

Gambar 4.18 Halaman user statistik diagram lingkaran ... 54

Gambar 4.20 Halaman admin data dosen ... 55

Gambar 4.21 Halaman admin detail data dosen ... 55

Gambar 4.22 Halaman admin edit data dosen ... 56

Gambar 4.23 Halaman admin tambah data dosen ... 56

Gambar 4.24 Halaman user data dosen ... 57

Gambar 4.25 Halaman user detail data dosen ... 57

Gambar 4.26 Grafik pengujian lihat data mahasiswa ... 62

Gambar 4.27 Grafik pengujian insert data pengumuman ... 64

Gambar 4.28 Grafik pengujian lihat data pengumuman ... 66

Gambar 4.29 Grafik pengujian menampilkan data berdasarkan kelamin ... 67


(15)

commit to user

1

BAB I PENDAHULUAN

1.1. Latar Belakang Masalah

Salah satu perkembangan teknologi informasi yang berkembang begitu cepat adalah teknologi informasi berbasis database yang dapat menarik perhatian masyarakat. Di jaman sekarang pengembangan IT sudah banyak yang membuat sistem informasi, baik itu untuk umum, untuk pendidikan, maupun sosial.

Sistem informasi mahasiswa sangat penting diterapkan pada salah satu universitas karena setiap tahunnya universitas tersebut selalu mengalami perubahan informasi kemahasiswaan. Begitu juga dengan Universitas Sebelas Maret Surakarta, data mahasiswa masih di kelompokkan secara keseluruhan. Di setiap fakultas belum memiliki informasi mahasiswa disetiap jurusan agar lebih memudahkan mencari data mahasiswa di jurusan tersebut. Tentunya system informasi memerlukan suatu media penyimpanan data yaitu database.

Penyimpanan data haruslah memiliki performa yang baik yaitu cepat, ringan dan mampu menyimpan data yang sangat besar.

NoSQL dapat menjadi alternatif sebagai penyimpanan data karena menurut review yang ada database NoSQL merupakan tipe database yang memiliki performa lebih baik dari pada MySQL. Untuk mengetahui hal tersebut perlu dilakukan suatu pengujian keunggulan dari masing-masing tipe database.


(16)

commit to user

1.2. Perumusan Masalah

Berdasarkan latar belakang diatas, maka dapat merumuskan masalah sebagai berikut:

a. Bagaimana membuat sistem informasi mahasiswa D3 Teknik Informatika yang databasenya berbasis NoSQL.

b. Bagaimana performa database NoSQL dibanding dengan MySQL.

1.3. Batasan Masalah

Berkaitan dengan rumusan masalah, masalah dibatasi pada sistem informasi mahasiswa D3 Teknik Informatika meliputi :

1. Sistem kemahasiswaan ini meliputi Data mahasiswa, data alumni, data perkembangan mahasiswa dengan proses yang berupa penginputan data, pencarian data, update data dan statistic jumlah mahasiswa pertahun. Data diperoleh dari bagian kemahasiswaan D3 Teknik Informatika Fakultas MIPA Universitas Sebelas Maret Surakarta.

2. Yang digunakan sebagai database system informasi mahasiswa adalah mongoDB yang merupakan salah satu database engine yang Open Source

3. Pengujian performa database hanya test request.

4. Sistem Operasi yang digunakan adalah CentOS 5.6 Server yang merupakan salah satu Sistem Operasi yang Open Source.

1.4. Tujuan Penulisan Tugas akhir

Tujuan dari Tugas Akhir ini adalah membuat system informasi mahasiswa D3 Teknik Informatika Unifersitas Sebelas Maret yang database

enginenya NoSQL. Dan melakukan test performa database NoSQL di


(17)

commit to user

1.5. Manfaat

1. Bagi Penulis

a. Mendapatkan pengetahuan dan pengalaman yang dapat menjadi bekal untuk bersaing di dunia kerja.

b. Mendapat kesempatan untuk menerapkan ilmu yang telah diperoleh selama perkuliahan.

2. Bagi Instansi

Diharapkan dapat membantu untuk memberikan informasi tentang mahasiswa D3 Teknik Informatika.

1.6. Metode Penelitian

Metode penelitian data yang akan digunakan dalam pembuatan Tugas Akhir penulis adalah sebagai berikut :

1.6.1 Metode Pengumpulan Data

a. Wawancara

Wawancara dilakukan dengan bagian kemahasiswaan D3 Teknik Informatika Universitas Sebelas Maret.

b. Observasi Lapangan

Tahap Observasi merupakan tahap paling awal dalam kegiatan penelitian ini. Pada Tahap ini dilakukan pengamatan yang berhubungan keadaan jumlah mahasiswa pertahun dimana mahasiswa belum lulus maupun yang sudah lulus.

c. Studi Pustaka

Metode ini menggunakan pustaka-pustaka yang telah ada untuk digunakan sebagai referensi, serta sebagai bahan penunjang.

1.6.2 Metode Analisis Sistem

Analisis sistem adalah suatu uraian sistem informasi yang utuh, yang dibagi menjadi beberapa komponen bagiannya dengan maksud untuk


(18)

commit to user

mengidentifikasi dan mengevaluasi permasalahan dan hambatan yang terjadi, serta mengusulkan berbagai macam kebutuhan untuk perbaikan.

1.6.3 Perencanaan Content Sistem

Perencanaan content sistem digunakan untuk menentukan fasilitas-fasilitas dalam aplikasi agar sistem dapat bekerja dengan maksimal.

1.6.4 Implementasi Sistem

Implementasi sistem merupakan kegiatan memaparkan rancangan yang telah disusun untuk bisa diwujudkan. Tahapan implementasi sistem mencakup pengkodean program dan deployment program. Jika semua tahap berakhir, maka akan sampai pada tahap evaluasi sistem. Evaluasi sistem adalah menguji dan memastikan bahwa sistem sudah sesuai dengan alur sistem secara keseluruhan.

1.7. Sistematika Penulisan Laporan

Laporan Tugas Akhir dengan judul Implementasi Database NoSQL terhadap system informasi mahasiswa D3 Teknik Informatika Universitas Sebelas Maret ini, terdiri dari lima bab yaitu:

1. BAB I PENDAHULUAN.

Pendahuluan yang berisi Latar Belakang Masalah, Perumusan Masalah, Batasan Masalah, Tujuan dan Manfaat Penelitian, Metodologi Penelitian, Sistematika Penulisan.

2. BAB II LANDASAN TEORI

Landasan teori memuat tinjauan pustaka yang digunakan sebagai referensi dalam pembuatan Sistem informasi mahasiswa .

3.

BAB III ANALISA DAN PERANCANGAN

Analisis dan perancangan sistem memuat tentang analisa kebutuhan dari sistem yang akan dibuat, beserta rancangan sistem.


(19)

commit to user

4.BAB IV IMPLEMENTASI DAN ANALISA PENGUJIAN

Implementasi memuat hasil analisa dan perancangan sistem yang antara lain ditampilkan dalam bentuk tabel, gambar, dan penjelasan dari masing-masing bagian.

5.BAB V PENUTUP

Penutup memuat kesimpulan dari hasil penelitian atau implementasi sistem dan saran yang diperoleh dari kesimpulan tersebut.


(20)

commit to user

6

BAB II

LANDASAN TEORI

2.1 Sistem Informasi

Sistem Informasi adalah cara-cara yang diorganisasi untuk mengumpulakn, memasukkan, mengolah, dan menyimpandata dan cara-cara yang diorganisasi untuk menyimpan,mengelola, mengendalikan dan melaporkan informasisedemikian rupa sehingga sebuah organisasi dapat mencapai tujuan yang telah ditetapkan. (Krismiaji 2002; 12)

2.1.1 Komponen Sistem Informasi

Sistem informasi terdiri dari komponen-komponen yang disebut sebagai blok bangunan atau block building (Burch dan Grudnitski, 1986). Block building

ini kemudian dibagi, sebagai berikut: 1. Blok masukan (input block),

Input mewakili data yang masuk ke dalam sistem informasi. Input disini termasuk metode-metode dan media untuk menangkap data yang akan dimasukkan yang dapat berupa dokumen-dokumen dasar.

2. Blok model (model block),

Blok ini terdiri dari kombinasi prosedur, logika, dan model matematika yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara tertentu untuk menghasilkan keluaran yang diinginkan.

3. Blok keluaran (output block),

Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkat manajemen serta semua pemakai sistem.

4. Blok teknologi (technology block),

Teknologi merupakan kotak alat (tool-box) dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan


(21)

commit to user

dan mengakses data, menghasilkan sekaligus mengirimkan keluaran dan membantu pengendalian dari sistem secara keseluruhan.

5. Blok basis data (database block),

Basis data merupakan kumpulan data yang saling berhubungan satu dengan lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya.

6. Blok kendali (controls block),

Pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi kesalahan-kesalahan dapat langsung cepat diatasi.

2.2Analisis Sistem

Analisis sistem pada tingkat teknik pertama, disebut sebagai model analisis yang menggambarkan serangkaian model representasi dari sistem yang akan dibangun (Pressman, 2002 : 351). Model analisis, antaralain meliputi :

2.2.1. Diagram Kontek (Context Diagram)

Diagram kontek merupakan sebuah diagram aliran data yang

memfokuskan pada aliran data dari dan ke dalam sistem, serta memproses data-data tersebut. Komponen-komponen dasar dari setiap program komputer yang digambarkan secara mendetail, dapat digunakan untuk menganalisis keakuratan dan kompetensi sistem (Kendall dan Kendall, 2003 : 40).

2.2.2. Data Flow Diagram (DFD)

Data Flow Diagram merupakan teknik analisa data terstruktur yang

merepresentasikan proses-proses data di dalam organisasi (Kendall dan Kendall, 2003 : 263). Beberapa simbol digunakan dalam DFD dapat dilihat pada tabel 2.1:


(22)

commit to user

Tabel 2.1 Simbol dalam DFD

Simbol Uraian

Menunjukkan entitas berupa kelompok orang atau departemen atau sistem yang bisa menerima informasi atau data-data awal.

Menujukkan proses dimana beberapa tindakan atau sekelompok tindakan dijalankan.

Menunjukkan arus data dimana informasi sedang melintas dan atau menuju ke suatu proses.

Menunjukkan penyimpanan data.

2.2.3. Entity Relationship Diagram (ERD)

Entity Relationship Diagram merupakan diagram yang berisi

komponen-komponen himpunan entitas dan himpunan relasi yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta yang ditinjau (Fatansyah, 1999 : 70). Berikut ini merupakan simbol-simbol yang digunakan dalam pembuatan ERD.


(23)

commit to user

Tabel 2.2 Simbol dalam ERD

Simbol Uraian

Menunjukkan himpunan entitas yang merupakan suatu obyek yang dapat diidentifikasi dalam lingkungan pemakai. Menujukkan atribut yang berfungsi mendeskrisikan karakter entitas.

Menunjukkan himpunan relasi antar entitas.

Digunakan sebagai penghubung antara himpunan relasi dengan himpunan entitas dan himpunan entitas dengan atributnya.

2.3Perancangan Sistem

Perancangan sistem merupakan tahap pemasukan ide atau gagasan guna memenuhi suatu tujuan pembangunan sistem informasi sebagai persiapan untuk melakukan rancang bangun dan implementasi. Tahap-tahap dalam perancangan sistem, antara lain Flowchart dan Deskripsi Data.

2.3.1 Flowchart

Flowchart merupakan diagram alir yang menggambarkan urutan

logika dari suatu prosedur pemecahan masalah (Sutedjo dan Michael, 2000 : 48). Beberapa simbol yang digunakan dalam flowchart dapat dilihat pada tabel 2.3.


(24)

commit to user

Tabel 2.3 Simbol dalam Flowchart

Simbol Uraian

Menunjukkan awal atau akhir program/ terminator.

Menunjukkan input atau output.

Menunjukkan arah arus/aliran.

Menunjukkan proses.

Menunjukkan pengujian/ keputusan.

2.3.2 Deskripsi Data

Deskripsi data merupakan deskripsi isi dari kamus data, yang merepresentasikan data komposit. Deskripsi isi memerlukan penyaringan lebih jauh sampai dalam kamus data, sampai semua item data diprepresentasikan sebagai item elementary atau sampai semua objek data direpresentasikan dalam bentuk yang tidak ambigu bagi pembaca (Pressman, 2002 : 389-390).

2.4 Database (Basis Data)

Database (basis data) merupakan kumpulan informasi yang disimpan di

dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu perangkat lunak atau program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola basis data disebut


(25)

commit to user

sistem manajemen basis data (database management system, DBMS). Database diperlukan dalam suatu or-ganisasi karena berbagai alasan, diantaranya:

1. Merupakan salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi.

2. Database dapat mengurangi duplikasi data (dataredudancy).

3. Database dapat meningkatkan hubungan antar data (data relability).

2.4.1 Model Database Konsep dasar dari basis data

Adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya, penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basisdata dan hubungan di antara obyek tersebut.

2.4.2 MySQL

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL

(database management system) atau DBMS yang multithread, multi-user, dengan

sekitar 6 juta instalasi di seluruh dunia. (http://www.mysql.com : 20

2.4.3 NoSQL

NoSQL (Not Only SQL) adalah tipe database yang sangat jauh berbeda dengan konsep RDBMS (Relational Database Menejement System) ataupun ODBMS (Object Database Management System). Perbedaan utamanya sendiri yaitu karena tidak mengenal istilah relation dan tidak menggunakan konsep schema. Kalau biasanya menggunakan query Join di sini tidak bisa menggunakannya karena setiap tabel berdiri sendiri tanpa tergantung dengan tabel lainnya alias independen.

Selain itu kalau di dalam konsep DBMS (Database Menejement System)

biasanya sebelum insert data diharuskan untuk mendefinisikan terlebih dahulu struktur tabel seperti tipe data dan ukurannya, di konsep NoSQL ini bisa menyimpan data tanpa perlu mendefinisikan tipe data dan ukurannya lagi. Jadi


(26)

commit to user

lebih fleksibel bila ada perubahan di masa mendatang. Adapun beberapa database NoSQL yang ada saat ini yaitu Cassandra, Big Table, CouchDB, Redis, Riak,

Dynamo dan lainnya. Tentunya yang akan kita bahas di sini secara khusus adalah

MongoDB. MongoDB merupakan database open source berbasis dokumen (Document-Oriented Database) yang awalnya dibuat dengan bahasa C++. MongoDB sendiri sudah dikembangkan oleh 10gen sejak Oktober 2007, namun baru dipublikasikan pada Februari 2009. Selain karena performanya 4 kali lebih cepat dibandingkan MySQL serta mudah diaplikasikan, karena telah tergabung juga sebagai modul PHP.

Dalam konsep MongoDB tidak ada yang namanya tabel, kolom ataupun baris yang ada hanyalah collection (ibaratnya tabel), document (ibaratnya record). Data modelnya sendiri disebut BSON dengan struktur mirip dengan JSON. . (Dwight Merriman : 2009)

2.4.4 Perbedaan MySQL dengan MongoDB

Pengembang dengan latar belakang bekerja dengan sistem database relasional akan cepat mengakui kesamaan antara abstraksi logis dari model data relasional dan model data Mongo. Gambar berikut membandingkan komponen model data relasional dengan model data Mongo:

Gambar 2.1 komponen model data

Gambar berikut menunjukkan bagaimana satu baris dari sebuah table bernama hipotetis pengguna dipetakan ke dokumen dalam collection:


(27)

commit to user

Gambar 2.2 bentuk struktur data

Dengan konsep key-value yang ada pada MongoDB, setiap document otomatis memiliki index id yang unik. Hal ini membantu mempercepat proses pencarian data secara global.

Juga seperti kolom dari sebuah tabel RDBMS, field dari Collection dapat diindeks, meskipun implementasi dari pengindeksan berbeda.

Begitu banyak persamaan: sekarang mari kita bicara secara singkat tentang perbedaan. Hal utama MongoDB yang membedakan dari model relasional adalah tidak adanya kendala hubungan. Tidak ada kunci asing dalam collection dan sebagai hasilnya ada tidak JOIN queries pembatas manajemen biasanya ditangani dalam lapisan aplikasi. Juga, karena skema yang fleksibel, tidak ada pernyataan

ALTER TABLE di MongoDB.

(Rubayeet Islam : 2011)

2.4.5 MongoDB concept

Collection MongoDB disebut juga pengelompokan dokumen atau kumpulan document BSON. Dapat dianggap seperti table database relasional.

BSON singkatan dari Binary JSON, adalah serialisasi biner dikodekan dari JSON-seperti dokumen. Seperti JSON, BSON mendukung embedding dokumen dan array dalam dokumen lain dan array. BSON juga mengandung ekstensi yang memungkinkan representasi dari tipe data yang bukan bagian dari spec JSON. Sebagai contoh, BSON memiliki jenis Tanggal dan jenis BinData.


(28)

commit to user

_Id field hampir setiap document mongoDB memiliki sebagai atribut pertama. Jika ada user yang mencoba untuk memasukkan dokumen tanpa menyediakan _id field, database secara otomatis akan menghasilkan id_ object dan menyimpannya. (Rubayeet Islam : 2011)

2.4.6 Kelebihan MongoDB

MongoDB hadir dengan beberapa kelebihan yaitu :

1. Performa yang ditawarkan MongoDB lebih cepat dibandingkan MySQL ini disebabkan oleh memcached dan format dokumennya yang berbentuk seperti JSON

2. Replikasi, adalah fitur yang sangat bermanfaat untuk backup data secara realtime. MongoDB sangat cocok digunakan untuk portal berita ataupun blog, namun belum cocok untuk digunakan pada sistem informasi yang berkaitan dengan keuangan karena MongoDB tidak mendukung transaction SQL

3. Auto-sharding, merupakan fitur untuk memecah database yang besar menjadi

beberapa bagian demi optimalisasi performa database. Penggunaannya sendiri sangat berguna ketika Anda memiliki website dengan database yang jutaan baris, sharding akan membantu memecahnya menjadi beberapa bagian

4. MongoDB juga sudah mendukung C, C++, C#, Erlang, Haskell, Java, JavaScript, .NET(C# F#, PowerShell), Lips, Perl, PHP, Python, Ruby dan Scala

5. Cross-platform, sehingga dapat digunakan di Windows, Linux, OS X dan

Solaris

6. Proses CRUD (Create, Read, Update, Delete) terasa sangat ringan

7. Map/Reduce, akan sangat membantu ketika kita melakukan operasi agregasi.

Dimana semua entry datangnya dari collection dan outputnya pun akan menjadi collection juga. Kalau di MySQL biasanya kita menggunakan query GROUP BY

8. GridFS, spesifikasi yang digunakan untuk menyimpan data yang sangat


(29)

commit to user

15

BAB III

ANALISIS DAN PERANCANGAN

3.1 Analisis Kebutuhan 3.1.1 Kebutuhan Hardware

3.1.1.1Kebutuhan hardware untuk pembuatan

Hardware minimum untuk pembuatan Sistem Informasi mahasiswa D3

Teknik Informatika Unversitas Sebelas Maret dengan spesifikasi sebagai berikut.

a. Processor.

Processor yang digunakan untuk pembuatan aplikasi ini processor Intel

Pentium dual core T2390.

b. Memory.

Memory yang digunakan dalam pembuatan aplikasi ini RAM 2 GB.

c. Harddisk.

Harddisk yang digunakan dalam pembuatan aplikasi ini 120 GB.

3.1.1.2Kebutuhan hardware untuk pengujian

Hardware minimum untuk menjalankan Sistem Informasi Mahasiswa D3

Teknik Informatika Universitas Sebelas Maret dengan spesifikasi sebagai berikut.

a. Processor.

Processor yang digunakan untuk menjalankan aplikasi ini processor Intel

Pentium 4.

b. Memory.

Memory yang digunakan untuk menjalankan aplikasi ini RAM 512 MB

c. Harddisk.

Harddisk yang digunakan untuk menjalankan aplikasi ini 40 GB.

3.1.2 Kebutuhan Software

3.1.2.1Kebutuhan software untuk pembuatan

Software yang diperlukan dalam pembuatan Sistem Informasi Mahasiswa


(30)

commit to user a. Sistem Operasi.

Pembuatan aplikasi ini memerlukan Sistem Operasi Windows karena aplikasi ini merupakan yang berbasis Windows, disini menggunakan windows 7 sebagai OS nya.

b. Notepad+ + adalah sebuah software pengolah text yang mirip notepad

bawaan windows. Namun Notepad+ + memiliki kelebihan yaitu dapat digunakan untuk mengedit source code program. Berdasarkan informasi dari situs sourceforge , notepad+ + dapat mengenali lebih dari 50 bahasa pemrograman. Namun kelemahan software ini hanya mampu digunakan untuk mengedit source code program saja, untuk melakukan compile dan

running code program tetap harus dilakukan pada compiler bahasa

pemograman yang bersangkutan. Notepad+ + juga bersifat open source, sehingga source code-nya tersedia untuk didownload dan dipelajari.

c. Aplikasi web adalah jenis aplikasi yang diakses melalui browser, misalnya Internet Explorer, Google Chrome dan Mozilla Firefox. Digunakan untuk mengecek jalannya aplikasi sistem informasi tersebut.

d. XAMPP yaitu merupakan singkatan dari X (empat system operasi

apapun),Apache,MySQL,PHP,Perl. XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dalam paketnya sudah terdapat Apache (web server), MySQL (database), PHP (server side scripting), PERL, FTP server,phpMyAdmin dan berbagai pustaka bantu lainya. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache, PHP dan MySQL secara manual.

e. MongoDB adalah sebuah system database berjenis database berorientasi dokumen atau biasa dikenal dengan nama populer NoSQL.

3.1.2.1Kebutuhan software untuk pengujian

Software yang diperlukan untuk menjalankan Sistem Informasi Mahasiswa

D3 Teknik Informatika Universitas Sebelas Maret ini adalah sebagai berikut. a. Sistem Operasi.


(31)

commit to user

Untuk Instalasi web server menggunakan Sistem Operasi CentOS.

CentOS adalah sistem operasi bebas yang didasarkan pada Red Hat Enterprise Linux (RHEL). Proyek ini berusaha untuk 100% binari kompatibel dengan produk hulunya (RHEL). Arsip perangkat lunak tambahan menyediakan versi terbaru paket-paketnya, berbasis paket RPM. CentOS singkatan dari Community ENTerprise Operating System (Sistem Operasi Perusahaan buatan Komunitas/Masyarakat) yang merupakan proyek independen yang bertujuan untuk menyediakan distribusi GNU/Linux yang stabil untuk institusi dan perseorangan yang tidak sangat memerlukan support untuk menjalankan sistem yang mereka miliki.

Berikut ini kelebihan dan kekurangan linux centos Kelebihan a. CentOS sangat kompatibel dengan RH

b. Merupakan OS freeware yang sangat handal untuk skala Enterpise. c. Merupakan satu-satunya OS freeware yang didukung resmi oleh CPanel

kurang

d. Drivers RHEL dapat dipakai oleh CentOS karena isi CentOS adalah RHEL

Kekurangan

a. Tergantung pada distro RH. Karena itu CentOS selalu keluar setelah RH b. Kata "enterprise" membuat pemula takut dan memilih Fedora

c. Penampilan website CentOS yang kurang menarik (CentOS Indonesia sedang mengupayakan untuk mengupdate website CentOS.org agar tampil menarik)

d. Kurangnya dokumentasi mengenai CentOS secara khusus (CentOS Community, 2008)

b. Apache adalah server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya) yang berguna untuk melayani dan memfungsikan situs web. Protokol yang digunakan untuk melayani fasilitas web/www ini


(32)

commit to user

menggunakan HTTP. Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis basis data dan lain-lain.Apache juga didukung oleh sejumlah antarmuka pengguna berbasis grafik (GUI) yang memungkinkan penanganan server menjadi mudah. (Community-led development since, 1999).

c. PHP ( PHP Hypertext Preprocessor). adalah bahasa pemrograman script yang paling banyak dipakai saat ini atau dalam kata lain bisa diartikan sebuah bahasa pemrograman web yang bekerja di sisi server (server side scripting) yang dapat melakukan konektifitas padadatabase yang di mana hal itu tidak dapat dilakukan hanya dengan menggunakan sintaks-sintaks HTML biasa. (the php group, 2003).

d. MySQL, perkembangannya disebut SQL yang merupakan kepanjangan dari Structured Query Language. SQL merupakan bahasa tersetruktur yang khusus digunakan untuk mengolah database. SQL pertama kali didefinisikan oleh American National Standards Institute (ANSI) pada tahun 1986. MySQL adalah sebuah system manajemen database yang bersifat open source. MySQL dapat digunakan untuk membuat dana mengolah database beserta isinya. MySQL merupakan system manajemen database yang bersifat at relational. Artinya data-data yang di kelola dalam database akan diletakkan pada beberapa table yang terpisah sehingga manipulasi data akan menjadi lebih cepat. (Oracle Corporation and/or its affiliates, 2011).

e. MongoDB adalah sebuah system database berjenis database berorientasi dokumen atau biasa dikenal dengan nama populer NoSQL.

3.2Deskripsi Umum Sistem

Sistem informasi mahasiswa D3 Teknik Informatika merupakan sistem informasi yang menyajikan informasi dan pengolahan data yang ada di Fakultas MIPA Universitas Sebelas Maret, dimana dalam kesempatan ini hanya di batasi pada pendataan mahasiswa, statistik jumlah mahasiswa, jumlah mahasiswa alumni dan pengumuman D3 TI.


(33)

commit to user

3.3 Fungsi-fungsi Perangkat Lunak Sistem

Sistem Informasi mahasiswa D3 Teknik Informatika memiliki beberapa fungsi. Fungsi-fungsi tersebut adalah :

a. Fungsi login

Fungsi ini digunakan untuk menghidupkan sistem sehingga dapat melakukan pelayanan.

b. Fungsi logout

Fungsi ini digunakan untuk mematikan sistem sehingga pelayanan dihentikan.

c. Fungsi lihat data

Fungsi ini digunakan untuk melihat data mahasiswa yang sudah urut berdasarkan NIM (Nomor Induk Mahasiswa).

d. Fungsi cari data

Fungsi ini digunakan untuk menampilkan data berdasarkan kata kunci dan kriteria yang dimasukkan. Misal kata kunci “NIM”, “NAMA”, dan “ANGKATAN”.

e. Fungsi tambah data

Fungsi ini digunakan untuk menambah data mahasiswa, data dosen, dan pengumuman .

f. Fungsi perbaharui data

Fungsi ini digunakan untuk mengubah data Mahasiswa dengan NIM tertentu, data dosen, dan data pengumuman.

3.4 Perancangan Sistem

Perancangan sistem bertujuan untuk menentukan rancangan sistem informasi mahasiswa. Dalam perancangan sistem ini menjelaskan langkah-langkah pembuatan alur fungsi dan proses yang ada dalam sistem informasi mahasiswa. Hal ini akan dibutuhkan untuk pedoman implementasi.


(34)

commit to user

3.4.2 Data Flow Diagram (DFD) Level 0

Pembuatan DFD level 0 (nol) atau sering disebut sebagai Context Diagram

dapat dilihat pada gambar 3.1. DFD level 0 adalah diagram yang menggambarkan sistem secara keseluruhan dan hubungannya dengan entitas-entitas di luar sistem. Diagram di atas adalah DFD level 0 dari sistem yang akan dibuat. External entity

yang terlibat dalam sistem adalah sebagai berikut :

Admin user

Username,passwordi, data mahasiswai

Username, password, input, update, delete data mahasiswa,

data dosen, pengumuman .

Informasi data mahasiswa, pengumuman SISTEM INFORMASI

MAHASISWA D3 TEKNIK INFORMATIKA

0

Informasi pengumaman,data mahasiswa, data dosen Grafik Aktif & Alumni mahasiswa

Gambar 3.1 DFD Level 0


(35)

commit to user

Login User

Edit data mahasiswa

Edit Password

Edit pengumuman

Edit profile

Manage data mahasiswa

Kelola data

Username, Password

mahasiswa mahasiswa

admin

admin

admin

Gambar 3.2 flow diagram

Keterangan :

1. Admin melakukan login pada aplikasi agar mendapatkan hak akses

untuk mengelola dari aplikasi seperti mengubah, menambah dan menghapus data mahasiswa, serta memberikan pengumuman yang

update.

2. User atau mahasiswa dalam mengakses aplikasi ini dapat login

untuk dapat mengubah data pribadi. Mahasiswa mendapatkan informasi yaitu data mahasiswa D3 TI, mahasiswa alumni, data dosen, dan statistik pertumbuhan.


(36)

commit to user

3.4.2 Data Flow Diagram (DFD) Level 1

DFD level 1 merupakan rincian dari proses-proses yang terjadi di dalam

sistem. Pada gambar 3.3 dapat dilihat proses utama yang ada di dalam sistem, yaitu menampilkan data mahasiswa, alumni, profil, data dosen, pengumuman, dan statistik. Diagram berikut ini adalah gambar 3.2 DFD level 1 dari sistem yang dibuat. Admin Mahasiswa 4 Manage Data Dosen 2 Manage Data Mahasiswa 3 Manage Data pengumuman Tabel pengumuman D4 Tabel Mahasiswa

Data informasi dosen

data pengumuman

Data info mahasiswa data mahasiswa 1 Login Username,password Tabel Alumni Data mahasiswa

Data mahasiswa alumni

Data pengumuman verifikasi

Data Info mahasiswa

data mahasiswa Data pengumuman

datai pengumuman

data dosen

Data Informasi dosen

Tabel Dosen Data Dosen Tabel user verifikasi Username,password Data user 5 Manage profile Tabel profile Data profile datai profile data profile

Data profile


(37)

commit to user Admin

Mahasiswa

2 manage data

mahasiswa

Tabel Mahasiswa

Data info mahasiswa data mahasiswa

Tabel Alumni Data mahasiswa

Data mahasiswa alumni Data Info mahasiswa

data mahasiswa

2 Manage data

alumni

data mahasiswa Data Info mahasiswa

Gambar 3.4 DFD Level 2 manage mahasiswa

Keterangan :

1. Proses 1 yaitu proses login. Admin melakukan login dan akan mendapatkan verifikasi data login. Jika login berhasil maka akan mendapatkan hak untuk menggunakan fitur-fitur dari sistem ini. 2. Proses 2 yaitu proses manage data mahasiswa. User dapat melihat

data mahasiswa keseluruhan, melihat secara detail mahasiswa dan dapat mencari data mahasiswa dengan cepat. Mahasiswa dapat mengedit data pribadi apabila sudah login.

3. Proses 3 yaitu proses manage data pengumuman. User dapat melihat pengumuman D3 Teknik Informatika. Admin dapat mengubah dan membuat pengumuman baru.

4. Proses 4 yaitu proses manage data dosen. User hanya dapat melihat data dosen secara detail. admin dapat menambah dan mengubah data dosen.


(38)

commit to user

3.4.3 Flow Diagram MongoDB

Admin

Mahasiswa

pengumuman Mahasiswa

Data informasi dosen

data pengumuman

Data info mahasiswa data mahasiswa

Username,password

Alumni Data mahasiswa alumni

verifikasi Data Info mahasiswa

data mahasiswa Data pengumuman

datai pengumuman

data dosen

Data Informasi dosen Dosen

user

verifikasi Username,password

profile datai profile

data profil Data profile

Gambar 3.5 Flow diagram sistem

Gambar 3.6 Flow diagram manage mahasiswa

Admin

Mahasiswa

Tabel Mahasiswa

Data info mahasiswa manage data mahasiswa

Tabel Alumni

Data Info mahasiswa

manage data mahasiswa

Manage data alumni Data Info mahasiswa


(39)

commit to user

3.5 ERD (Entity Relationship Diagram)

Pemodelan data dilakukan dengan menggunakan Model Entity

Relationship (ERD) yang merupakan suatu penyajian data dengan menggunakan

Entity dan Relationship yang bertujuan untuk menunjukkan struktur objek data (entity) dan hubungan (relationship) yang ada pada objek tersebut. ERD berisi hubungan diantara tabel-tabel yang diperlukan sebagai database dari sistem yang dibuat, seperti pada gambar 3.3 berikut ini.

DOSEN MAHASISWA ALUMNI MELIPUTI PENGUMUMAN n 1 JUDUL_PENGUMUMAN ISI_PENGUMUMAN ID_PENGUMUMAN TGL NAMA TGL_LAHIR AGAMA TEMPAT_LAHIR JK TGL_DAFTAR STATUS NIM TGL_DAFTAR NIDN NAMA TAHUN USERNAME PASSWORD USER 1 1 ID MENGISI MENGISI MENGISI 1 n n n PROFIL MENGISI n 1 ID visi misi NIM JK TEMPAT_LAHIR TGL_LAHIR AGAMA ALAMAT ALAMAT ASAL_SMTA JUR_SMTA GOL_DARAH NAMA_AYAH NAMA_IBU HOBBY KEWARGAN EGARAAN PENGUASAAN _ASING PRESTASI TELP EMAIL P.AYAH P.IBU


(40)

commit to user

3.5.1 Diagram mongoDB

Mahasiswa NIM nama jk tempat_lahir tgl_lahir agama alamat asal_smta jurusan_smta gol_darah nama_ayah nama_ibu hobby kewarganegaraan penguasaan_asing prestasi telp email pekerjaan_ayah pekerjaan_ibu status tgl_daftar User id username password profile id visi misi Pengumuman id_pengumuman judul_pengumuman isi_pengumuman dosen nidn nama jk tempat_lahir tgl_lahir agama alamat telp alumni nim tgl_lulus tahun mengisi mengisi mengisi mengisi meliputi

Gambar 3.8 Diagram mongoDB

3.6 Relationship diagram (Relasi Antar Tabel )

Relationship diagram menggambarkan relasi antar tabel yang ada dalam

Sistem informasi mahasiswa D3 TI. Relationship diagram terdiri dari 9 tabel..

Relationship diagram dibawah ini, digambarkan dalam bentuk skema, namun

tetap mewakili garis besar dari relasi antar table, dapat dilihat pada gambar 3.5.


(41)

commit to user

3.7 Flowchart

Flowchart merupakan diagram alur yang menggambarkan urutan logika

dari suatu prosedur yang ada dalam suatu sistem. Flowchart sistem informasi mahasiswa D3 TI dibawah ini, digambarkan setelah dilakukan setting program.

3.7.1 Flowchart Proses Login

Flowchart proses login menggambarkan diagram alur dari prosedur menu

login. Login digunakan untuk mengakses menu-menu yang ada dalam program, dilakukan dengan masuk pada menu login kemudian input username dan

password. Username dan password akan di cek, jika benar user dapat mengakses

menu sesuai hak aksesnya. Jika salah, ulangi input username dan password hingga benar. Setelah akses selesai dilakukan, logout.Proses login dapat dilihat pada gambar 3.10 berikut ini.

Gambar 3.10 Flowchart proses login

Mulai

Input Username dan Password

Cek Username dan Password

Hak Akses Menu Sistem

Ya

Benar Tidak

Salah

Pilih Menu LOGIN ?


(42)

commit to user

3.7.2 Flowchart Proses Input Data

Flowchart proses input data menggambarkan diagram alur dari

prosedur menu input data. Menu input data meliputi input data mahasiswa, pengumuman, dan data dosen. Input data digunakan untuk menambah data. Proses input data dilakukan dengan masuk dan memilih menu input data yang sesuai, kemudian isi data dengan lengkap dan simpan. Jika belum lengkap, lengkapi data dan simpan. Proses input data dapat dilihat pada gambar 3.7 berikut ini.

Mulai

Input Data

Data Sudah Lengkap ?

Simpan

Ya

Ya Tidak

Tidak

Pilih Menu INPUT ?

Selesai


(43)

commit to user

3.7.3 Flowchart Edit Data

Flowchart edit data menggambarkan diagram alur dari prosedur

menu edit data. Menu edit data meliputi edit data mahasiswa, data dosen, dan data pengumuman. Edit data digunakan untuk mengedit data-data yang telah di inputkan. Proses edit data dilakukan dengan masuk dan memilih menu edit data yang sesuai, kemudian masukkan NIM dari data yang ingin di edit dengan benar. Setelah data ketemu, edit data dan simpan. Proses edit data dapat dilihat pada gambar 3.8 berikut ini.

Mulai

Edit data

Ya

Tidak

Pilih Menu Edit ?

Selesai

Ya

Tidak

Simpan Data ? Tampil Data

Cari NIM?

Input NIM

tidak

ya


(44)

commit to user

3.8 Perancangan Database

Dalam pembuatan sistem informasi mahasiswa D3 Teknik Informatika diperlukan adanya suatu basis data yang digunakan untuk tempat menyimpan seluruh informasi dan data. Perancangan untuk sistem informasi mahasiswa D3 TI adalah sebagai berikut :

1. Table User

Table user digunakan untuk menyimpan data user yaitu mahasiswa dapat dilihat pada table berikut

Tabel 3.2 Tabel user

Field Type Data Key Keterangan Id Integer (5) Primary Key Not Null

Username Varchar (15) Not Null

Password Varcahar (50) Not Null

2. Tabel Dosen

Tabel dosen berfungsi menyimpan data dosen dapat ditunjukan rancangan tabel pada tabel 3.2.

Tabel 3.2 Tabel dosen

Field Type Data Key Keterangan NIDN Integer (5) Primary Key Not Null

Nama Varchar (20) Not Null jk enum („L‟,‟P‟) Not Null tempat_lahir Varchar (40) Not Null

tgl_lahir date Not Null

agama Varchar(8) Not Null alamat Varchar(20) Not Null telp Varchar(15) Not Null


(45)

commit to user 3. Tabel Pengumuman

Tabel pengumuman berfungsi menyimpan data pengumuman dapat ditunjukan rancangan tabel pada tabel 3.4.

Tabel 3.4 Tabel pengumuman

Field Type Data Key Keterangan Id_ pengumuman Integer (5) Primary Key Not Null Judul_pengumuman Varchar (50) Not Null Isi_pengumuman Text Not Null

tgl date Not Null

4. Tabel Mahasiswa

Tabel mahasiswa berfungsi menyimpan data mahasiswa dapat ditunjukan rancangan tabel pada tabel 3.5.

Tabel 3.5 Tabel mahasiswa

Field Type Data Key Keterangan nim Varchar (16) Primary Key Not Null

Nama Varchar (40) Not Null

Jk enum('L', 'P') Not Null

Tempat_lahir Varchar (40) Not Null

Tgl_lahir Date Not Null

Agama Varchar (8) Not Null

alamat Varchar (20) Not Null Asal_smta Varchar (20) Not Null Jurusan_smta Varchar (20) Not Null Gol_darah Varchar (3) Not Null Nama_ayah Varchar (20) Not Null Nama_ibu Varchar (20) Not Null


(46)

commit to user Lanjutan dari table mahasiswa

Field Type Data Key Keterangan kewarganegaraan Varchar (10) Not Null Penguasaan_asing Varchar (15) Not Null prestasi Varchar (20) Not Null

telp Varchar (15) Not Null

email Varchar (20) Not Null

Pekerjaan_ayah Varchar (15) Not Null Pekerjaan_ibu Varchar (15) Not Null Status Varchar (10) Not Null Tgl_daftar Varchar (10) Not Null

5. Tabel Alumni

Tabel alumni berfungsi menyimpan data mahasiswa lulus dapat ditunjukan rancangan tabel pada tabel 3.6.

Tabel 3.6 Tabel alumni

Field Type Data Key Keterangan NIM Varchar (16) Primary Key Not Null

Tgl_Lulus Date Not Null

tahun Varchar(5) Not Null

6. Tabel profile

Tabel Profile berfungsi menyimpan data profile dapat ditunjukan rancangan tabel pada tabel 3.7.

Tabel 3.7 Tabel profile

Field Type Data Key Keterangan NIM Varchar (16) Primary Key Not Null

Tgl_Lulus Date Not Null


(47)

commit to user

3.8.1 Perancangan database mongoDB 1. Collection : User

{

"_id": ObjectId("4fbdcc5b7f8b9a6b0a000003"), "username": "user",

"password": "admin" }

2. Collection : Mahasiswa

{

"_id": ObjectId("4fbdcc5b7f8b9a6b0a000002"), "nim": "M3109001",

"nama": "Fendy", "jk": "L",

"tempat_lahir": "Wonogiri", "tgl_lahir": "04\/09\/1991", "agama": "islam",

"alamat": "wonogiri",

"asal_smta": "SMA N 2 Jakarta", "jurusan_smta": "IPA",

"gol_darah": "A", "nama_ayah": "ahmad", "nama_ibu": "rani", "hobby": "tidur",

"kewarganegaraan": "WNI",

"penguasaan_asing": "bahasa inggris", "prestasi": "desain",

"telp": "085643929001", "email": "[email protected]", "pekerjaan_ayah": "PNS", "pekerjaan_ibu": "swasta", "status": "blm_lulus", "tgl_daftar": "2012" }


(48)

commit to user

3. Collection : Dosen

{

"_id": ObjectId("4f7653509b5a18c003000000"), "nidn": "001",

"nama": "didit", "jk": "L",

"tempat_lahir": "klaten", "tgl_lahir": "2-1-1987", "agama": "Islam",

"alamat": "klaten wetan", "telp": "085643090113" }

4. Collection : Pengumuman

{

"_id": ObjectId("4fc476157f8b9a6f0a000042"), "title": "Latihan",

"content": "UJIAN SERTIFIKASI", "saved_at": "2012-05-29"

}

5. Collection : Alumni

{

"_id": ObjectId("4fae769d9b5a18cc12000005"), "nim": "M3109002",

"tgl_lulus": "2012-05-01", "tahun": "2012"

}

6. Collection : Profile

{

"_id": ObjectId("4fae9dd79b5a18cc12000006"),

"visi": "Mahasiswa D3TI memiliki banyak kreatifitas", "misi": "Meluluskan mahasiswa kompeten di bidang IT " }


(49)

commit to user

3.9 Rancangan Desain Antarmuka

Dalam sistem informasi mahasiswa D3 Teknik Informatika ini hak akses dari pengguna sistem yaitu :

3.9.1 Halaman Admin

Halaman ini merupakan halaman yang dapat diakses oleh Admin

yang memiliki hak dalam mengelola dan mengatur seluruh fasilitas yang ada dalam sistem informasi mahasisa D3 Teknik Informatika. Admin

berhak menginput data, mengedit data, dan menghapus data.

3.9.1.1 Rancangan halaman login admin ditunjukkan pada gambar 3.13.

LOGIN

Username

Password

Login

Gambar 3.13 Rancangan login

3.9.1.2 Rancangan Halaman Utama Admin ditunjukkan pada gambar

HOME PROFILE MAHASISWA MAHASISWA ALUMNI DATA DOSEN KELOLA DATA LOGOUT

FORM UTAMA HOME

FOOTER


(50)

commit to user

3.9.1.3 Rancangan Halaman Data Mahasiswa

Halaman ini berisi tentang data-data mahasiswa secara keseluruhan. Halaman ini dapat memiliki fasilitas untuk menambah mahasiswa, ubah mahasiswa dan hapus mahasiswa, dapat ditunjukan pada gambar 3.15.

Pencarian cari

HOME PROFILE MAHASISWA MAHASISWA ALUMNI DATA DOSEN KELOLA DATA LOGOUT

FOOTER Daftar Mahasiswa

NIM Nama Jenis_kelamin Alamat status detail

Tambah

Gambar 3.15 Rancangan halaman data mahasiswa untuk

admin

3.9.1.4 Rancangan Halaman Mahasiswa Alumni Untuk Admin

Halaman ini berisi mahasiswa yang telah lulus dan data dapat dicari berdasarkan angkatan, dapat ditunjukan pada gambar 3.16.

Pencarian cari

HOME PROFILE MAHASISWA MAHASISWA ALUMNI DATA DOSEN KELOLA DATA LOGOUT

FOOTER Daftar Alumni

NIM Nama Alamat Tanggal Daftar Tanggal Lulus detail


(51)

commit to user

3.9.1.5 Rancangan Halaman Data Dosen Untuk Admin

Halaman ini berisi data dosen D3 TI. Admin dapat menambah dan mengubah data dosen.Halaman ini ditunjukan pada gambar 3.17.

Manage Data Dosen Pencarian cari [Tambah Dosen]

HOME PROFILE MAHASISWA MAHASISWA ALUMNI DATA DOSEN KELOLA DATA LOGOUT

FOOTER Daftar Dosen

NIDN Nama detail

Gambar 3.17 Rancangan halaman data dosen untuk admin

3.9.2 Halaman User

Halaman ini merupakan halaman yang dapat diakses oleh user atau mahasiswa yang memiliki hak untuk melihat sistem informasi mahasiswa D3 TI.

3.9.2.1 Rancangan halaman utama user ditunjukkan pada gambar 3.18.


(52)

commit to user

BERANDA PROFILE DATA MAHASISWA MAHASISWA ALUMNI STATISTIK DATA DOSEN LOGIN

FORM UTAMA HOME

FOOTER

Gambar 3.18 Rancangan halaman utama user

3.9.2.2 Rancangan Halaman Data Mahasiswa

Halaman ini user dapat melihat data mahasiswa keseluruhan dan dapat melihat data mahasiswa secara detail, halaman ini ditunjukkan pada gambar 3.19.

Pencarian cari

FOOTER Daftar Mahasiswa

NIM Nama Jenis_kelamin Alamat Agama detail BERANDA PROFILE DATA MAHASISWA MAHASISWA ALUMNI STATISTIK DATA DOSEN LOGIN


(53)

commit to user

3.9.2.3 Rancangan halaman Mahasiswa Alumni untuk user

ditunjukkan pada gambar 3.20.

Pencarian cari

FOOTER Daftar Mahasiswa Alumni

NIM Nama Jenis_kelamin Tanggal Daftar Tanggal Lulus detail

BERANDA PROFILE DATA MAHASISWA MAHASISWA ALUMNI STATISTIK DATA DOSEN LOGIN

Gambar 3.20 Rancangan halaman Alumni untuk user

3.9.2.4 Rancangan halaman statistik untuk user ditunjukkan pada gambar 3.21.

Grafik Mahasiswa Tahun :

BERANDA PROFILE DATA MAHASISWA MAHASISWA ALUMNi STATISTIK DATA DOSEN LOGIN

FOOTER Diagram Lingkaran


(54)

commit to user

3.9.2.5 Rancangan halaman lihat data dosen untuk user ditunjukkan pada gambar 3.22.

Data Dosen

Pencarian cari

FOOTER Daftar Dosen

NIDN Nama detail

BERANDA PROFILE DATA MAHASISWA MAHASISWA ALUMNI STATISTIK DATA DOSEN LOGIN

Gambar 3.22 Rancangan halaman data dosen untuk


(55)

commit to user

BAB IV

IMPLEMENTASI DAN ANALAISA PENGUJIAN

4.1 IMPLEMENTASI APLIKASI

Aplikasi ini memiliki fungsi utama sebagai sistem informasi mahasiswa D3 teknik informatika Universitas Sebelas Maret. Pembuatan sistem ini menggunakan kode pemrograman PHP dan HTML yang berbasis web sehingga pada implementasinya dapat diakses dimana saja. Database yang digunakan adalah MongoDB yang merupakan NoSQL (Document Oriented Database). Dan dibandingkan dengan menggunakan database MySQL.

4.1.1 Koneksi PHP ke MySQL

Untuk melakukan koneksi, dibutuhkan: Server name, merupakan nama server atau no.IP server dimana MySQL tersebut diinstall. Username, merupakan nama user yang diberikan wewenang untuk mengakses database dalam

MySQL. Password, merupakan password yang dimiliki username dalam rangka

autentifikasi. Database name, merupakan nama database dalam MySQL yang ingin kita akses. Sedangkan perintah PHP untuk melakukan koneksi ke MySQL adalah

//koneksi database function koneksi() { global $koneksi;

$host="localhost"; //nama host $username="root"; //username host $pass="fendy"; //password host

$db="db_mahasiswa"; //nama database

$koneksi=mysql_connect($host,$username,$pass) or die ("<h3>Koneksi Error !</h3>");

mysql_select_db($db,$koneksi) or die ("<h3>Koneksi Database Error !</h3>");


(56)

commit to user

Perintah di atas akan menampilkan koneksi ke MySQL sukses apabila koneksi telah berhasil, sedangkan apabila gagal akan menampilkan pesan kesalahan.

4.1.2 Koneksi PHP ke MongoDB

Untuk melakukan koneksi, cukup dengan memanggil function dari modul

PHP MongoDB yaitu sebagai berikut

try {

$connection = new Mongo();

$database= $connection->selectDB('mahasiswa'); $collection=$database->selectCollection('mahasiswa');

} catch(MongoConnectionException $e) {

die("Failed to connect to database ".$e->getMessage()); }

Perintah diatas juga memanggil collection mahasiswa yaitu pada perintah : $collection=$database->selectCollection('mahasiswa');

4.1.3 Implementasi insert data mahasiswa

Perbedaan script insert data mahasiswa ke database MySQL dengan

database MongoDB yaitu sebagai berikut :

a. Untuk MySQL

$sqla = mysql_query("insert into mahasiswa set nama='$nama',jk='$jkel',tgl_lahir='$tgl_lahir', nim='$nim',tempat_lahir='$tmp_lhr',agama='$agama', alamat='$almt',asal_smta='$smta',jurusan_smta='$jur' ,gol_darah='$gol' ,nama_ayah='$ayah' ,nama_ibu='$ibu' , hobby='$hobby',kewarganegaraan='$kwn'

,penguasaan_asing='$pba' ,prestasi='$prestasi' , telp='$telp',email='$email',


(57)

commit to user

status='blm_lulus',tgl_daftar=now()",$koneksi) or die ("<div class=\"error\">

<strong>Error, Gagal Menambah Data !</strong> </div>");

b. Untuk MongoDB

$sqla=$collection->insert(array( 'nim' => $nim, 'nama' => $nama,

'jk' => $jkel, 'tempat_lahir' => $tmp_lhr,

'tgl_lahir' => $tgl_lahir, 'agama' => $agama,

'alamat' => $almt, 'asal_smta' => $smta, 'jurusan_smta' => $jur, 'gol_darah' => $gol, 'nama_ayah' => $ayah, 'nama_ibu' => $ibu, 'hobby' => $hobby,

'kewarganegaraan' => $kwn, 'penguasaan_asing' => $pba, 'prestasi' => $prestasi, 'telp' => $telp,

'email' => $email,

'pekerjaan_ayah' => $payah, 'pekerjaan_ibu' => $pibu, 'status' => 'blm_lulus', 'tgl_daftar' => $tahun ));


(58)

commit to user

4.1.4 Implementasi menampilkan data mahasiswa

Perbedaan script menampilkan data mahasiswa dari database MySQL

dengan MongoDB yaitu sebagai berikut a. Untuk MySQL

$sql=mysql_query("SELECT * FROM mahasiswa ",$koneksi) or die ("Data tidak ditemukan");

while($data=mysql_fetch_object($sql)) { echo"<tr class=\"$row\">

<td>$data->nim</td> <td>$data->nama</td> <td>$data->jk</td> <td>$data->alamat</td> <td>$data->status</td> }

b. Untuk MongoDB

$print = $collection->find(); while ($print->hasNext()):

$data = $print->getNext(); echo"<tr>

<td>".$data['nim']."</td> <td>".$data['nama']."</td> <td>".$data['jk']."</td>

<td>".$data['tgl_daftar']."</td> <td>".$data['status']."</td> endwhile;

4.1.5 Implementasi menghapus data mahasiswa

Perbedaan script menghapus data mahasiswa dari database MySQL dengan


(59)

commit to user 1. Untuk MySQL

$hapus = mysql_query

("DELETE FROM mahasiswa WHERE nim='$nim'");

2. Untuk MongoDB

$collection->remove(array('nim' => $nim));

4.2 SCREENSHOT APLIKASI DAN PENJELASAN

Implementasi perancangan terhadap sistem yang dibangun bisa dilihat melalui desain menu utama, yang secara garis besar adalah sebagai berikut:

1. Halaman Login

Halaman login hanya digunakan oleh halaman administrasi. Login ke dalam sistem dengan satu username yang dientry ketika pembuatan sistem melalui basis data secara langsung. Username ini memiliki jabatan sebagai

administrator sistem.

Gambar 4.1 Halaman login

Kesalahan yang juga dimungkinkan muncul adalah username dan

password yang dimasukkan tidak sesuai maka akan muncul warning text lain

yang berbunyi „Maaf, username atau password salah‟ yang selanjutnya akan disebut sebagai peringatan login. Berikut ini adalah gambar peringatan yang akan ditampilkan jika pengguna mencoba mengakses sistem tanpa melalui login. Hal ini dapat dilihat pada gambar 4.2 berikut ini.


(60)

commit to user

Gambar 4.2 Peringatan login

Jika telah memasukkan username dan password dengan benar maka sistem akan menampilkan navigasi, navigasi yang muncul di halaman admin

adalah: home page, profile, data Mahasiswa, data mahasiswa lulus, data dosen, kelola data dan logout. Apabila tombol logout diklik maka akan kembali ke halaman Login seperti pada gambar 4.1 diatas. Navigasi menu dapat dilihat pada gambar 4.3 berikut ini.

Gambar 4.3 Halaman utama admin

Masuk ke halaman user tidak perlu login. Navigasi yang muncul di halaman user adalah: beranda, profile, data mahasiswa, data mahasiswa lulus, statistik, data dosen dan login. Apabila tombol login diklik maka akan ke halaman login seperti pada gambar 4.1 diatas. Navigasi menu user dapat dilihat pada gambar 4.4 berikut ini.


(61)

commit to user

Gambar 4.4 Halaman Utama user

2. Home page

a. Home pageadmin

Halaman home page admin Akan keluar halaman tabel yang berisi tanggal keluar, judul pengumuman, detail, hapus dan tambah pengumuman seperti pada gambar 4.3 diatas. Apabila akan menambah pengumuman baru klik tombol tambah akan muncul dihalaman tambah data pengumuman yang dapat dilihat pada gambar 4.5


(62)

commit to user

b. Home pageuser

Halaman home page user menampilkan detail pengumuman terbaru dan sebelumnya seperti pada gambar 4.4 diatas.

3. Data mahasiswa

Halaman data mahasiswa akan tampil setelah menu navigasi diklik pada data mahasiswa. Akan keluar halaman yang berisi informasi daftar mahasiswa D3 TI seperti NIM, nama, jenis kelamin, dan alamat.

a. Data mahasiswa untuk admin

Halaman data mahasiswa yang diakses admin dapat dilihat pada gambar 4.6.

Gambar 4.6 Halaman admin data mahasiswa

Halaman ini dapat diketahui detail informasi dengan mengklik detail lihat. Detail mahasiswa antara lain berisi NIM, nama mahasiswa, jenis kelamin, tempat lahir, tanggal lahir, agama, alamat, status, status, tanggal daftar, asal smta, jurusan smta, gol darah, nama ayah, nama ibu, pekerjaan ayah, pekerjaan ibu, hobby, kewarganegaraan, penguasaan bahasa asing, prestasi, telephone, dan email. Data lengkap mahasiswa dapat dilihat pada gambar 4.7 berikut ini.


(63)

commit to user

Gambar 4.7 Halaman admin detail data mahasiswa

Halaman detail mahasiswa ini dapat menghapus data dengan mengeklik tombol hapus data kemudian nanti akan muncul peringatan jika menghapus data dan data juga dapat diubah dengan klik tombol ubah data,

dapat dilihat pada gambar 4.8 dan gambar 4.9 berikut ini.

Gambar 4.8 Halaman admin peringatan hapus data mahasiswa


(64)

commit to user

Halaman daftar mahasiswa juga bisa mencari data seperti pada gambar berikut ini. Pencarian data berdasarkan NIM, nama dan jenis kelamin,. Jika sudah memilih maka klik tombol “cari”. Tambah data mahasiswa baru klik tulisan “tambah” dapat dilihat pada gambar 4.6 diatas dan gambar 4.10 seperti berikut ini.

Gambar 4.10 Halaman admin tambah data mahasiswa

b. Data mahasiswa untuk user

Halaman data mahasiswa yang diakses user dapat dilihat pada gambar 4.11.


(65)

commit to user

Halaman ini dapat diketahui detail informasi dengan mengklik detail lihat dan di halaman ini hanya dapat melihat dan dapat mengubah data jika sudah login user tapi tidak dapat menambah data. Detail mahasiswa antara lain berisi NIM, nama mahasiswa, jenis kelamin, tempat lahir, tanggal lahir, agama, alamat, status, status, tanggal daftar, asal smta, jurusan smta, gol darah, nama ayah, nama ibu, pekerjaan ayah, pekerjaan ibu, hobby, kewarganegaraan, penguasaan bahasa asing, prestasi, telephone, dan emai. Data lengkap mahasiswa dapat dilihat pada gambar 4.12 berikut ini.

Gambar 4.12 Halaman user detail data mahasiswa

Jika di klik edit maka akan tampil form login untuk muser yaitu mahasiswa


(66)

commit to user

4. Data mahasiswa Alumni

Halaman data mahasiswa Alumni akan tampil setelah menudiklik pada data mahasiswa lulus. Akan keluar halaman mahasiswa lulus yang lulus pada tahun tersebut. Halaman ini berisi informasi daftar mahasiswa lulus pada tahun tersebut mahasiswa D3 TI seperti NIM, nama, jenis kelamin, tanggal daftar dan tanggal lulus.

a. Data mahasiswa lulus untuk admin

Halaman mahasiswa lulus yang diakses admin dapat dilihat pada gambar 4.14.

Gambar 4.14 Halaman admin data mahasiswa Alumni

Halaman ini berbeda pada detail tidak ada menu ubah data dan hapus data yang dapat dilihat pada gambar 4.16.


(67)

commit to user

b. Halaman mahasiswa alumni untuk user

Halaman mahasiswa alumni yang diakses user dapat dilihat pada gambar 4.16.

Gambar 4.16 Halaman user data mahasiswa alumni

Halaman yang berbeda disini pada halaman detail mahasiswa lulus, di status lulus diwarnai merah dan ada tanggal lulusnya yang dapat dilihat pada gambar 4.17.

Gambar 4.17 Halaman user detail data mahasiswa alumni

5. Grafik Statistik Mahasiswa

Halaman ini berisi grafik rata-rata pertumbuhan mahasiswa D3 teknik informatika UNS, hanya di tampilkan di halaman user


(68)

commit to user

Halaman ini user hanya dapat melihat diagram lingkaran saja, dapat di lihat jumlah mahasiswa berdasarkan tahun. Berikut ini adalah gambar 4.18 grafik mahasiswa dengan diagram lingkaran.

Gambar 4.18 Halaman user statistik jumlah mahasiswa

Gambar 4.19 Halaman user statistik diagram lingkaran

6. Data dosen

Halaman data dosen akan tampil setelah menudata dosendiklik. Akan keluar halaman yang berisi informasi daftar dosen D3 TI.

a. Data dosen untuk admin

Halaman data dosen yang diakses admin dapat dilihat pada gambar 4.20.


(69)

commit to user

Gambar 4.20 Halaman admin data dosen

Halaman ini bisa mengetahui detail informasi dengan mengklik detail. Detail dosen antara lain berisi nidn,nama dosen, jenis kelamin, tempat lahir, tanggal lahir, Agama, telephone. Data lengkap dosen dapat dilihat pada gambar 4.21 berikut ini.

Gambar 4.21 Halaman admin detail data dosen

Halaman detail dosen ini dapat menghapus data dengan mengeklik tombol hapus data kemudian nanti akan muncul peringatan jika menghapus data dan data juga dapat diubah dengan klik tombol ubah data, dapat dilihat pada gambar 4.22 berikut ini.


(70)

commit to user

Gambar 4.22 Halaman adminedit data dosen

Halaman daftar dosen juga bisa mencari data seperti pada gambar 4.20 diatas. Pencarian data berdasarkan nidn dan nama. Jika sudah menuliskan kata yang ingin dicari berdasarkan apa klik tulisan “cari“. Tambah data dosen klik tulisan “ tambah dosen ” dapat dilihat pada gambar 4.23 berikut ini.

Gambar 4.23 Halaman admin tambah data dosen b. Data dosen untuk user


(71)

commit to user

Gambar 4.24 Halaman user data dosen

Gambar 4.25 Halaman user detail data dosen

Halaman ini bisa mengetahui detail informasi dengan mengklik detail. Detail dosen antara lain berisi nidn,nama dosen, jenis kelamin, tempat lahir, tanggal lahir, Agama, telephone. Data lengkap dosen dapat dilihat pada gambar 4.25 berikut ini.

Halaman daftar dosen juga bisa mencari data seperti pada gambar 4.24 diatas. Pencarian data berdasarkan nidn dan nama dosen. Jika sudah menuliskan kata yang ingin dicari berdasarkan apa klik tulisan “ cari “.


(72)

commit to user

4.3 Analisa Pengujian

Pengujian dilakukan untuk membandingkan performa database MySQL dengan database NoSQL. Disini pengujian dilakukan dengan menggunakan script PHP untuk melakukan test kecepatan request query. Dengan mengganti variable

$tries dapat mengetahui perbedaan time request jika scriptnya di jalankan.

Script test MySQL

<?php

class mysqldb{ private $db;

private $host="localhost"; private $username="root"; private $password="fendy";

private $database="db_mahasiswa"; private $query;

private $result; private $row;

public function connects() {

$this->db= mysql_connect($this->host,$this->username,$this->password);

mysql_select_db($this->database,$this->db); }

public function execute($query){ $this->query=$query;

$this->result=mysql_query($this->query,$this->db); }

public function get_array(){

if ($this->row=mysql_fetch_array($this->result)){ return $this->row;


(73)

commit to user else{

return false; }

} } ?> <?php

function microtime_float() {

list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);

}

$BASE_PATH = "../src/";

$time_taken = 0; $tries = 100;

$time_start = microtime_float(); for($i=1;$i<=$tries;$i++)

{

$db = new mysqldb(); $db->connects();

$sql = "select * from mahasiswa"; $result = $db->execute($sql); while ($row = $db->get_array() ) {

} }

$time_end = microtime_float();


(74)

commit to user echo $time_taken;

function get_15_random_numbers() {

$numbers = array(); for($i=1;$i<=15;$i++) {

$numbers[] = mt_rand(1, 20000000);

}

return $numbers; }

echo "s"; ?>

Script test NoSQL

<?php

function microtime_float() {

list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec);

}

$time_taken = 0; $tries = 100; // connect

$time_start = microtime_float();

for($i=1;$i<=$tries;$i++) {

$m = new Mongo(); $db = $m->mahasiswa;


(75)

commit to user while ($cursor->hasNext()):

$obj = $cursor->getNext();

endwhile; }

$time_end = microtime_float();

$time_taken = $time_taken + ($time_end - $time_start); echo $time_taken;

function get_15_random_numbers() {

$numbers = array(); for($i=1;$i<=15;$i++) {

$numbers[] = mt_rand(1, 20000000) ;

}

return $numbers; }

echo "s"; ?>

4.3.1 Hasil dari pengujian

Test response time (second) menampilkan table mahasiswa dengan jumlah 30 mahasiswa


(76)

commit to user

Table 4.1 Table hasil test request menampilkan data mahasiswa load query/database response time MySQL time request (s) MongoDB time request (s)

100 0.44 0.42

200 0.49 0.46

300 0.53 0.49

400 0.58 0.52

500 0.63 0.55

600 0.67 0.57

700 0.73 0.61

800 0.77 0.64

900 0.82 0.67

1000 0.86 0.7

2000 1.14 1.02

3000 1.81 1.32

4000 2.31 1.63

5000 2.99 1.94

10000 5.1 4.1

Grafik 0 1 2 3 4 5 6 re sp on se t im e (s) Load request

Grafik test request query MySQL dengan MongoDB

MySQL MongoDB

Gambar 4.26 Grafik pengujian lihat data mahasiswa

Database MySQL dan MongoDB melakukan view data 100 sampai 10000 kali melihat data mahasiswa dan terlihat grafik yang membedakan waktu untuk melakukan load request.

Test response time (second) Insert table pengumuman (100-10000)

MySQL


(1)

commit to user

$cursor = $db->pengumuman->find(); while ($cursor->hasNext()):

$obj = $cursor->getNext();

echo $obj['title']; echo

$obj['content']; echo $obj['saved_at']. "<br>"; endwhile;

Mysql VS NoSQL (mongoDB) request (100- 10000)

Table 4.3 Table hasil test request menampilkan pengumuman

Grafik 0 200 400 600 800 1000 1200 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 1 0 0 0 2 0 0 0 3 0 0 0 4 0 0 0 5 0 0 0 1 0 0 0 0 re sp on se tim e (s) Load request

Grafik test request Query MySQL vs MongoDB

MySQL MongoDB

Gambar 4.28 Grafik pengujian lihat data pengumuman

request query/database response time MySQL time request (s) MongoDB time request(s)

100 0.51 0.38

200 0.56 0.41

300 1.22 1.05

400 5.49 4.45

500 13 11.65

600 27.18 19.55

700 37.5 33.93

800 42.38 39.5

900 50 42

1000 62.5 50.8

2000 164.46 153.17

3000 213.35 195.88

4000 380.18 320

5000 512.68 466.25


(2)

commit to user

Grafik menunjukkan bahwa load request dilakukan dari 100 sampai 10000 dan menunjukkan perbedaan response time kedua database yang semakin signifikan dan hasilnya mongoDB lebih cepat dari pada MySQL.

Pengujian atau Test response time (second) menampilkan data mahasiswa yang jenis kelamin perempuan.

MySQL

$sql = "select * from mahasiswa where jk = 'P'";

NoSQL

$nosql = $db->mahasiswa->find(array('jk' => 'P'));

Table 4.4 Table hasil test response menampilkan data berdasarkan

Jenis Kelamin Grafik 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 1 0 0 0 2 0 0 0 3 0 0 0 4 0 0 0 5 0 0 0 1 0 … re sp o n se t im e (s ) Load request

Grafik test request query MySQL vs MongoDB

MySQL MongoDB

Gambar 4.29 Grafik pengujian menampilkan data berdasarkan kelamin

request query/database response time MySQL time request (s) MongoDB time request(s)

MySQL MongoDB

100 0.045 0.026

200 0.085 0.053

300 0.12 0.08

400 0.17 0.1

500 0.21 0.13

600 0.24 0.15

700 0.29 0.18

800 0.33 0.21

900 0.37 0.23

1000 0.41 0.26

2000 0.82 0.54

3000 1.23 0.8

4000 1.65 1.03

5000 2.09 1.3


(3)

commit to user

Test response time (second) menampilkan dua table yang saling berhubungan yaitu mahasiswa dan table alumni.

MySQL

$sql = "select * from mahasiswa,alumni where mahasiswa.nim = alumni.nim";

NoSQL

$nosql = $db->mahasiswa->find(array('status' => 'lulus'));

$nosql2 = $db->alumni->find();

Table 4.45 Table hasil response time menampilkan dua table yang

saling berhubungan

request query/database time request MySQL time request (s) MongoDB time request(s)

MySQL MongoDB

100 0.044 0.045

200 0.086 0.091

300 0.12 0.13

400 0.16 0.18

500 0.2 0.23

600 0.24 0.27

700 0.28 0.31

800 0.33 0.36

900 0.37 0.4

1000 0.4 0.45

2000 0.8 0.9

3000 1.21 1.38

4000 1.6 1.81

5000 2.02 2.25


(4)

commit to user

Grafik

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5

1

0

0

2

0

0

3

0

0

4

0

0

5

0

0

6

0

0

7

0

0

8

0

0

9

0

0

1

0

0

0

2

0

0

0

3

0

0

0

4

0

0

0

5

0

0

0

1

0

0

re

sp

on

se

t

im

e

(s

)

Load request

Grafik test query dua table MySQL vs MongoDB

MySQL MongoDB

Gambar 4.30 Grafik pengujian menampilkan dua tabel

Grafik menunjukkan bahwa load request dilakukan dari 100 sampai 10000 dan menunjukkan perbedaan response time kedua database yang semakin signifikan dan hasilnya MySQL lebih cepat dari pada mongoDB.


(5)

commit to user

69

BAB V PENUTUP

5.1 Kesimpulan

Berdasarkan hasil dari penelitian penulis, dapat diambil kesimpulan sebagai berikut :

1. Telah dibuatnya system informasi mahasiswa D3 Teknik Informatika Universitas Sebelas Maret yang databasenya berbasis NoSQL.

2. Pengujian performa database telah terbukti dari grafik pengujian yaitu MySQL dan MongoDB melakukan request menampilkan data dan insert data. Dengan hasil dari table berikut :

Test (1000 load request) MySQL response time (s) mongoDB response time (s)

View data 0.41 second 0.26 second

Insert data 0.6 second 0.5 second

View data 2 table 0.4 second 0.45 second

Diketahui bahwa response time mongoDB lebih cepat apabila pengetesan hanya berlaku untuk satu table tetapi jika pengetesan berlaku dua table, response time MySQL lebih cepat dari pada mongoDB.

5.2 Saran

Berdasarkan hasil dari penelitian penulis, ada beberapa saran sebagai berikut :

1. Disarankan pengujian database dapat dilakukan dengan software yang lain atau bahasa pemrograman yang lain.

2. Untuk Sistem informasi yang telah penulis buat akan lebih baik jika digunakan sebagai multi user sehingga tidak hanya digunakan pada D3 TI melainkan di jurusan lain juga.


(6)

commit to user

70

DAFTAR PUSTAKA

Anonym_1, 1990. CentOS. http://www.centos-id.com . Diakses pada 10 Maret 2012

Anonym_2, PHP. http://id.wikipedia.org/wiki/Php. Diakses pada 30 November 2011

Anonym_3, Mysql. http://www.mysql.com. Diakses pada 30 November 2011

Chodorow ,Kristina , 2011. 50 Tips and Tricks for MongoDB Developers. United States of America

Dwight Merriman, 1995. 10gen, and one of the original authors of MongoDB. 10gen team New York

Fatansyah, 1999. Basis Data. Informatika : Bandung.

Rubayeet Islam, 2011. Combine the power of PHP and MongoDB to build dynamic web 2.0 applications. PACK Publishing

Francia , Steve , 2012. MongoDB and PHP. United States of America

MongoDB group, 2007. MongoDB. http://http://www.mongodb.org . Diakses pada 20 Januari 2012

Kendall, K.E. dan Julie E. Kendall. 2003. Analisis dan Perancangan Sistem. Edisi Terjemahan. PT Intan Sejati : Klaten.