Fendy Setiawan M3109031
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 PERANCANGANAnalisis 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.