• Tidak ada hasil yang ditemukan

APLIKASI JADWAL MATA KULIAH BERBASIS WEB DAN ANDROID.

N/A
N/A
Protected

Academic year: 2017

Membagikan "APLIKASI JADWAL MATA KULIAH BERBASIS WEB DAN ANDROID."

Copied!
120
0
0

Teks penuh

(1)

BERBASIS WEB DAN ANDROID

TUGAS AKHIR

DISUSUN OLEH:

HERI BUDHI ISWANTO 0734010278

TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INDUSTRI

(2)

Pembimbing 2 : Budi Nugroho, S.Kom.

ABSTRAKSI

Kuliah merupakan kewajiban bagi seorang mahasiswa namun tidak semua mahasiswa selalu mengikuti kuliah. Terbatasnya sistem informasi yang dimiliki mahasiswa menjadi salah satu penyebab mahasiswa selalu terlambat hadir untuk kuliah bahkan tidak mengikuti mata kuliah. Dalam tugas akhir ini peneliti mencoba meneliti tentang sistem informasi tentang jadwal mata kuliah yang ada di Universitas Pembangunan Nasional “Veteran” Jawa Timur. Adapun tujuan dari tugas akhir ini adalah membuat Aplikasi Penjadwalan Mata Kuliah Berbasis Web dan Android yang dilakukan oleh sistem. Manfaatnya adalah mempermudah untuk memberikan dan mendapatkan informasi jadwal mata kuliah bagi dosen dan mahasiswa di Jurusan Teknik Informatika Universitas Pembangunan Nasional Veteran Jawa Timur.

Tugas akhir ini membahas perancangan antar muka dan pembuatan MIDP (Mobile Information Device Profile) berupa data Jadwal Mata Kuliah yang sederhana dibuat dengan MySQL yang dikoneksikan dengan Web Server dan Web browser sebagai compilernya, sedangkan untuk Androidnya menggunakan AVD (Android Virtual Device) sebagai emulator compilernya dan library java.

Pada tugas akhir ini dikembangkan Aplikasi Penjadwalan Mata Kuliah Berbasis Web dan Android, dan diharapkan pengguna yang menggunakan perangkat handphone berbasiskan Sistem Operasi Android dapat terbantu untuk mengetahui informasi jadwal mata kuliah yang disajikan oleh aplikasi ini. Dan bagi yang tidak memiliki handphone berbasis Sistem Operasi android juga masih dapat menggunakan aplikasi ini menggunakan Web browser.

(3)

Pertama-tama penulis panjatkan puji syukur atas kehadiran Allah S.W.T

karena atas rahmat dan karunia-Nyalah akhirnya laporan tugas akhir ini dapat

penulis selesaikan. Tak lupa pula shalawat dan salam penulis panjatkan kepada

Nabi akhir zaman Muhammad S.A.W, karena berkat perjuangannyalah karunia

Iman dan Islam senantiasa menjadi inspirasi bagi penulis.

Adapun maksud penulisan Laporan Tugas Akhir ini adalah sebagai

gambaran terhadap apa yang penulis kerjakan pada Tugas Akhir. Selain itu juga

laporan ini sebagai syarat untuk pelaksanaan mata kuliah Tugas Akhir dalam

menyelesaikan program studi strata satu (S-1) di Universitas Pembangunan

Nasional “Veteran” Jawa Timur.

Oleh karena itu pada kesempatan ini dengan kesungguhan dan rasa rendah

hati, penulis ingin menyampaikan ucapan terima kasih kepada:

1. Kedua orang tua, khususnya kepada ayah yang telah tenang di alam sana

dan ibu yang telah memberikan dukungan materil dan imateril semangat,

kasih sayang, dan pengorbanan kepada penulis yang tak terhitung dan

ternilai jumlahnya.

2. Bapak Ir.Sutiyono, MT, selaku Dekan Fakultas Teknologi Industri UPN

“Veteran” Jawa Timur.

3. Ibu Dr. Ir. Ni Ketut Sari, MT selaku Ketua Jurusan Teknik Informatika

(4)

dorongan dalam menyelesaikan Tugas Akhir Penulis.

5. Bapak Budi Nugroho, S.kom selaku Dosen Pembimbing II yang telah

memberikan Saran-saran perbaikan, pengetahuan, dan dorongan dalam

menyelesaikan Tugas Akhir Penulis.

6. Seluruh Dosen Program Studi Teknik Informatika UPN “Veteran”.

7. Keluarga yang selalu mengasihi, kakak, adik, bibi, paman dan saudara

lainnya yang tak bisa disebutkan satu-satu.

8. Teman-teman Teknik Informatika Angkatan 2007 khususnya Genk

tahu-tempe : Satrio Anggardha, Kanzul Fikri, Heri Budi Iswanto, Deny

Setiawan, Hadi Santoso, Dian Perdana, Rachmat Kurniawan, Nova

Parmadani, Yudha Baskoro, Yasser Arafat, Firman Nurpantara. Terima

kasih atas kerja sama, motivasi, kekompakkan, dan kebersamaanya, tanpa

kalian penulis tidak dapat menyelesaikan masa kuliah ini dengan lancar.

Semoga dengan terselesaikannya Tugas Akhir dan Laporannya ini dapat

memberikan manfaat bagi penulis khususnya dan para pembaca pada umumnya.

Penulis menyadari bahwa Tugas Akhir dan Laporan ini masih jauh dari

kesempurnaan. Mengingat terbatasnya pengetahuan dan kemampuan penulis.

Oleh karenanya penulis memohon maaf dan selalu terbuka untuk menerima kritik

dan saran dari pembaca

Surabaya, Mei 2012

(5)

ABSTRAKSI ... i

KATA PENGANTAR ... ii

DAFTAR ISI ... iv

DAFTAR GAMBAR ... viii

DAFTAR TABEL ... xi

BAB I PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 2

1.3. Batasan Masalah ... 3

1.4. Tujuan ... 3

1.5. Manfaat ... 4

1.6. Metodologi Penelitian ... 4

1.7. Sistematika Penulisan ... 6

BAB II TINJAUAN PUSTAKA ... 7

2.1. Penjadwalan ... 7

2.1.1. Definisi Penjadwalan ... 7

2.1.2. Penjadwalan Mata Kuliah ... 8

2.2. PHP ... 10

2.2.1. Sejarah PHP ... 10

2.2.2. Tentang PHP ... 11

2.2.3. Konsep Pemprograman PHP ... 12

(6)

2.3.3. Data Definition Language ... 20

2.3.4. Data Manipulation Language ... 20

2.4. Android ... 20

2.4.1. Pengertian Android ... 21

2.4.2. Sejarah dan Perkembangan Android ... 21

2.4.3. Android Froyo ... 22

2.4.4. Anatomi Android ... 23

2.4.4.1. Linux Kernel ... 23

2.4.4.2. Libraries ... 24

2.4.4.3. Android Runtime ... 24

2.4.4.4. Application Framework ... 25

2.4.4.5. Application Layer ... 26

2.4.5. Komponen Aplikasi ... 27

2.4.5.1. Activities ... 27

2.4.5.2. Services ... 29

2.4.5.3. Intents ... 29

2.4.5.4. Broadcast Receivers ... 30

2.4.5.5. Content Providers ... 30

2.4.6. Tipe Aplikasi Android ... 31

2.4.7. Siklus Hidup Aplikasi Android ... 31

2.4.8. Kelebihan Android ... 33

(7)

3.1.1. DFD (Data Flow Diagram) ... 37

3.1.2. ERD Aplikasi Jadwal Mata Kuliah ... 40

3.2. Perancangan Interface (antarmuka) ... 42

BAB IV IMPLEMENTASI ... 50

4.1. Spesifikasi Perangkat Keras dan Lunak ... 50

4.1.1. Spesifikasi Perangkat Keras ... 50

4.1.2. Spesifikasi Perangkat Lunak ... 51

4.2. Penulisan Kode Program (codding) ... 53

4.2.1. Penulisan Kode Program Fitur Admin ... 53

4.2.2. Penulisan Kode Program Fitur Mahasiswa ... 64

4.2.3. Penulisan Kode Program Jadwal Kuliah Untuk Android ... 69

4.2.4. Penulisan Kode Program Android WEB ... 71

4.2.5. Penulisan Kode Program Lihat KRS ... 72

4.2.6. Pembuatan Tampilan Utama ... 74

4.2.6.1. Pembuatan Tampilan Halaman Login ... 74

4.2.6.2. Pembuatan Tampilan Halaman Utama Admin ... 76

4.2.6.3. Pembuatan Tampilan Halaman Utama Mahasiswa ... 82

4.2.6.4. Pembuatan Tampilan Halaman Utama Android ... 85

4.2.6.5. Pembuatan Tampilan Halaman Utama Android WEB ... 87

4.2.6.6. Pembuatan Tampilan Halaman Utama Lihat KRS ... 87

4.3. Tampilan Interface Aplikasi ... 88

(8)

4.3.4. Tampilan Utama Halaman Jadwal Terbaru Android ... 91

4.3.5. Tampilan Utama Halaman Tahun Akademik Android ... 92

4.3.6. Tampilan Utama Halaman Jadwal Mahasiswa Android ... 93

BAB V UJI COBA DAN EVALUASI ... 94

BAB VI PENUTUP ... 106

6.1. Kesimpulan ... 106

6.2. Saran ... 107

(9)

Gambar 2.1 Prosedur WEB Server Memperlakukan File HTML Biasa ... 13

Gambar 2.2 Prosedur WEB Server Memperlakukan File PHP ... 14

Gambar 2.3 Tampilan Di Browser Ketika test.php Dijalankan ... 17

Gambar 2.4 Tampilan Source Code test.php Yang Diterima Oleh Browser ... 17

Gambar 2.5 Detail Anatomi Android ... 23

Gambar 2.6 Prioritas Aplikasi Berdasarkan Activity ... 32

Gambar 2.7 Contoh Interface ... 35

Gambar 3.1 Skema Sistem Yang Dibuat Secara Umum ... 36

Gambar 3.2 Context Diagram ... 37

Gambar 3.3 DFD Level 1 ... 38

Gambar 3.4 DFD Level2 Proses Manipulasi Data ... 40

Gambar 3.5 CDM (Conceptual Data Model) ... 41

Gambar 3.6 PDM (Physical Data Model) ... 41

Gambar 3.7 Perancangan Form Login Admin ... 42

Gambar 3.8 Perancangan Form Utama Admin ... 43

Gambar 3.9 Perancangan Form Utama Mahasiswa ... 44

Gambar 3.10 Perancangan Form Jadwa Kuliah ... 45

Gambar 3.11 Perancangan Form Utama Android ... 46

Gambar 3.12 Perancangan Menu Jadwal Terbaru Android ... 47

Gambar 3.13 Perancangan Menu Tahun Akademik Android ... 48

Gambar 3.14 Perancangan Menu Jadwal Mahasiswa Android ... 49

(10)

Gambar 4.4 Hasi Skrip Edit Jadwal Kuliah ... 62

Gambar 4.5 Hasil Perubahan Data Di Halaman Tampil Jadwal Kuliah ... 63

Gambar 4.6 Implementasi Halaman Utama Mahasiswa ... 68

Gambar 4.7 Implementasi Halaman Jadwal Kuliah ... 69

Gambar 4.8 Implementasi Jadwal Kuliah Android ... 71

Gambar 4.9 Implementasi Android WEB ... 72

Gambar 4.10 Implementasi Lihat KRS ... 74

Gambar 4.11 Tampilan Halaman Login Admin ... 89

Gambar 4.12 Tampilan Utama Halaman Admin ... 89

Gambar 4.13 Tampilan Utama Halaman Mahasiswa ... 90

Gambar 4.14 Tampilan Utama Halaman Jadwa Terbaru Android ... 91

Gambar 4.15 Tampilan Utama Halaman Tahun Akademik Android ... 92

Gambar 4.15 Tampilan Utama Halaman Jadwal Mahasiswa Android ... 93

Gambar 5.1 Login Admin ... 94

Gambar 5.2 Pesan Login Gagal ... 95

Gambar 5.3 Halaman Admin ... 95

Gambar 5.4 Halaman Tambah Dosen ... 96

Gambar 5.5 Pesan Jika Data Berhasil Di Simpan ... 96

Gambar 5.6 Halaman Untuk Menampilkan Dosen ... 97

Gambar 5.7 Halaman Update Dosen ... 97

Gambar 5.8 Pesan Jika Data Berhasil Di Update ... 98

(11)

Gambar 5.12 Halaman Jadwal Mata Kuliah ... 100

Gambar 5.13 Tampilan Utama Android ... 101

Gambar 5.14 Tampilan Menu Jadwal Terbaru ... 101

Gambar 5.15 Tampilan List Jadwal Terbaru ... 102

Gambar 5.16 Tampilan Utama Menu Tahun Akademik ... 103

Gambar 5.17 Tampilan Untuk Memilih Tahun Akademik ... 103

Gambar 5.18 Tampilan Untuk Melihat Jadwal Kuliah ... 104

Gambar 5.19 Tampilan Utama Menu Jadwal Mahasiswa ... 105

(12)

Tabel 3.1 Keterangan Perancangan Form Login Admin ... 42

Tabel 3.2 Keterangan Perancangan Form Utama Admin ... 43

Tabel 3.3 Keterangan Perancangan Form Utama Mahasiswa ... 44

Tabel 3.4 Keterangan Form Jadwal Kuliah ... 45

Tabel 3.5 Keterangan Form Utama Android ... 46

Tabel 3.6 Keterangan Menu Jadwal Terbaru Android ... 47

Tabel 3.7 Keterangan Menu Tahun Akademik Android ... 48

Tabel 3.8 Keterangan Menu Jadwal Mahasiswa Android ... 49

(13)

PENDAHULUAN

1.1. Latar Belakang

Perkembangan teknologi semakin pesat dan cepat, khususnya teknologi

informasi dan komunikasi. Dengan segala aktifitas yang kian padat menjadikan

sebagian orang (khususnya mahasiswa) memiliki tingkat mobilitas yang tinggi.

Terkadang hal yang tidak menjadi prioritas namun suatu kewajiban terlalaikan.

Salah satunya kewajiban menuntut ilmu bagi mahasiswa yang selalu terlambat

dan terkadang juga tidak mengikuti jam mata kuliah. Salah satu faktor

penyebabnya adalah terbatasnya informasi ketika telah datang waktu kuliah.

Misalkan ketika mahasiswa berada di suatu tempat atau daerah dimana tempat

tinggalnya berada jauh dari Universitas tempat mahasiswa itu mencari ilmu

khususnya jauh dari Universitas Pembangunan Nasional Veteran Jawa Timur

sehingga tidak memungkinkan bagi mahasiswa tersebut datang ke kampus hanya

untuk melihat informasi jadwal mata kuliah yang harus ditempuh, disamping

memakan waktu juga memakan biaya. Maka ketika waktu kuliah tiba ada

kemungkinan mahasiswa tersebut tidak tahu jadwal kuliah yang harus ditempuh

pada semester ini dan menyebabkan mahasiswa tersebut tidak dapat mengikuti

mata kuliahnya di hari pertama.

Seiring dengan tingkat mobilitas yang tinggi, beberapa tahun terakhir

tengah marak perangkat bergerak atau mobile device. Salah satu perangkat mobile

yang paling pesat adalah Handphone dimana hampir setiap orang memilikinya.

(14)

fungsi dasarnya. Berbagai macam fitur telah ditanamkan, seperti pengolah gambar

dan video, pengolah dokumen dan lain sebagainya. Hal ini tak lepas dari

penggunaan Sistem Operasi pada Handphone. Layaknya pada komputer,

Handphone juga dapat di instal berbagai macam aplikasi yang diinginkan.

Android sebagai Sistem Operasi berbasis linux yang dapat digunakan di berbagai

perangkat mobile. Android memiliki tujuan utama untuk memajukan inovasi

piranti telepon bergerak agar pengguna mampu mengeksplorasi kemampuan dan

menambah pengalaman lebih dibandingkan dengan platform mobile lainnya.

Untuk itu dalam penelitian ini akan di kembangkan Aplikasi Penjadwalan

Mata Kuliah Berbasis Android. Guna memudahkan pengguna untuk mendapatkan

informasi tentang jadwal mata kuliah.

1.2. Rumusan Masa lah

Berdasarkan dari uraian latar belakang di atas maka dapat dirumuskan suatu

permasalahan sebagai berikut:

a. Bagaimana membangun dan merealisasikan suatu aplikasi pada platform

Android yang dapat digunakan di berbagai tempat untuk mengetahui

informasi jadwal mata kuliah.

b. Bagaimana membangun dan merealisasikan suatu aplikasi pada WEB

browser yang dapat digunakan di berbagai tempat untuk mengetahui

informasi jadwal mata kuliah.

c. Bagaimana menghubungkan antara aplikasi yang dibangun pada platform

(15)

1.3. Batasan Masalah

Agar dalam pengerjaan tugas akhir ini dapat lebih terarah, maka pembahasan

penulisan ini dibatasi pada ruang lingkup pembahasan sebagai berikut:

a. Sistem penjadwalan mata kuliah ini dapat digunakan pada sistem operasi

Android dengan memanfaatkan koneksi ke internet.

b. Sistem penjadwalan mata kuliah ini dapat digunakan pada PC / Laptop

dengan memanfaatkan koneksi ke internet (menggunakan WEB browser).

c. Memberikan informasi tentang jadwal mata kuliah di Universitas

Pembangunan Nasional Veteran Jawa Timur, khususnya jurusan Teknik

Informatika.

d. User dapat melakukan tambah data, merubah data yang sudah ada dan juga

bisa menghapus data yang sudah tidak digunakan melalui aplikasi berbasis

WEB.

e. Mahasiswa hanya dapat melihat informasi tentang jadwal mata kuliah saja

tanpa bisa melakukan input, update dan delete.

f. Diasumsikan sudah inputkan tabel KRS pada database jadwal kuliah,

sehingga mahasiswa dapat melihat jadwal mata kuliah sesuai KRS yang

sudah di pilih mahasiswa melalui aplikasi berbasis Android.

1.4. Tujuan

Tujuan dari pengerjaan tugas akhir ini adalah untuk membangun sebuah program

aplikasi penjadwalan mata kuliah yang berjalan pada PC / Laptop dan Sistem

Operasi Berbasis Android yang dapat digunakan kapanpun dan dimanapun

(16)

1.5. Manfaat

Manfaat dari pengembangan Aplikasi Penjadwalan mata kuliah ini adalah:

a. Membantu mahasiswa untuk dapat dengan mudah mengetahui jadwal mata

kuliah yang harus di tempuh khususnya pengguna Android.

b. Untuk mahasiswa yang tidak memiliki Sistem Operasi Android masih bisa

dengan mudah mengetahui jadwal mata kuliah yang harus di tempuh

menggunakan WEB browser yang ada di PC / Laptopnya.

c. Memudahkan pihak Universitas khususnya Universitas Pembangunan

Nasional Veteran Jawa Timur untuk memberi informasi tentang jadwal mata

kuliah kepada mahasiswanya.

1.6. Metodologi Penelitian

Metode yang digunakan dalam pembuatan Aplikasi Penjadwalan mata kuliah dan

menyusun laporan tugas akhir ini adalah:

a. Metode Pengumpulan Data

Mencari dan mengumpulkan data-data yang dibutuhkan dan berkaitan

dengan pembuatan Aplikasi Penjadwalan Mata Kuliah berbasis WEB dan

Android.

b. Metode Wawancara

Dilakukan terhadap dosen yang menangani tentang pengaturan jadwal mata

kuliah di jurusan teknik informatika UPN “Veteran” Jawa Timur.

c. Studi Kepustakaan

Studi kepustakaan seperti mempelajari buku-buku referensi yang

(17)

tentang manajemen penjadwalan untuk membantu dalam pembuatan

Aplikasi Penjadwalan Mata Kuliah. Selain itu juga mempelajari Web

referensi seputar hal yang sama untuk membantu dalam penyajian informasi

yang akan ditampilkan baik di Android maupun di Web browser.

d. Analisa Sistem

Menganalisa kebutuhan sistem dan mengidentifikasi kebutuhan informasi

berdasarkan hasil pengamatan dan wawancara serta studi pustaka yang telah

dilakukan. Alat bantu analisis sistem yang digunakan pada sistem ini adalah

DFD (Data Flow Diagram), CDM dan PDM. Fungsi dari DFD merupakan

alat perancangan sistem yang berorientasi pada alur data dengan konsep

dekomposisi yang dapat digunakan untuk menggambarkan analisa maupun

perancangan sistem, sedangkan fungsi dari CDM (Conceptual Data Model)

adalah untuk memodelkan struktur logis dari keseluruhan aplikasi data,

tidak tergantung pada software atau pertimbangan model struktur data.

CDM yang valid dapat dikonversi ke PDM (Physical Data Model).

e. Merancang dan Mengimplementasi

Merancang adalah tahap dimana sebuah sistem didesain berdasarkan

analisis yang telah dibuat, sedangkan mengimplementasi adalah tahap

dimana hasil dari seluruh proses analisis dan perancangan sistem yang

dibuat direpresentasikan kembali kedalam sebuah program / sistem

informasi untuk kemudian dilakukan evaluasi. Evaluasi dilakukan untuk

mengetahui seberapa besar mutu dan keberhasilan suatu program / sistem

informasi berdasarkan kasus yang telah dibuat mencakup semua kelebihan

(18)

1.7. Sistematika Penulisan

BAB I Pendahuluan

Pada pendahuluan diberikan gambaran umum dan penjelasan tentang laporan

yang berisikan Latar belakang, rumusan masalah, batasan masalah, tujuan,

manfaat, metodologi penelitian dan Sistematika Penulisan.

BAB II Landasan Teor i

Pada landasan teori memuat berbagai macam sumber tinjauan pustaka yang

digunakan sebagai referensi dalam pembuatan aplikasi penjadwalan mata kuliah.

BAB III Analisis dan Per ancangan

Analisis dan perancangan, memuat tentang analisa dari kebutuhan sistem yang

akan dibuat beserta rancangan sistem.

BAB IV Implementasi

Pada implementasi memuat langkah, hasil analisa dan perancangan sistem yang

disajikan dalam berbagai bentuk misalnya tabel, gambar dan penjelasan –

penjelasan dari masing masing bagian dari program.

BAB V Uji Coba dan Evaluasi

Pada uji coba dan evaluasi ini membahas tentang bagaimana jalan program dan

evaluasi program secara menyeluruh untuk mendukung keberhasilan program.

BAB VI Penutup

Pada bagian ini dijelaskan mengenai kesimpulan dan saran guna memperbaiki

kelemahan yang terdapat pada aplikasi penjadwalan mata kuliah, sehingga

aplikasi ini dapat diterima oleh mahasiswa karena dapat memudahkan dalam

(19)

TINJ AUAN PUSTAKA

2.1. Penjadwalan

Penjadwalan merupakan proses, cara, perbuatan menjadwalkan atau

memasukkan dalam jadwal.

2.1.1. Definisi Penjadwalan

Masalah penjadwalan dalam institusi pendidikan masih menjadi isu yang

menarik dan secara luas masih diteliti oleh banyak peneliti di dunia.

Chambers menyatakan bahwa jadwal didefinisikan sebagai sesuatu yang

menjelaskan di mana dan kapan orang-orang dan sumber daya berada pada suatu

waktu. Berdasarkan Kamus Besar Bahasa Indonesia, jadwal merupakan

pembagian waktu berdasarkan rencana pengaturan urutan kerja. Jadwal juga

didefinisikan sebagai daftar atau tabel kegiatan atau rencana kegiatan dengan

pembagian waktu pelaksanaan yang terperinci.

Kebanyakan orang terbiasa dengan jadwal sekolah yang disajikan sebagai

tabel hari dalam seminggu dan slot waktu. Dapat dilihat bahwa setiap hari dibagi

ke dalam slot waktu. Setiap slot waktu memiliki daftar mata pelajaran yang

sedang diajarkan, oleh siapa dan di mana. Jadwal dapat dinyatakan dalam

sejumlah cara yang berbeda, masing-masing mahasiswa harus memiliki jadwal

sendiri tergantung pada mata kuliah, begitu juga masing-masing dosen dan ruang,

(20)

Situasi lain di mana jadwal diperlukan yaitu:

1. Manufacturing - jalur produksi, perencanaan proyek.

2. Travel- kereta api, bus, dll.

3. Ujian universitas/sekolah.

4. Mata kuliah universitas.

5. Jadwal sekolah.

6. Jadwal televisi/radio/media.

7. Pertemuan/Rapat.

Situasi di atas membutuhkan jadwal dengan berbagai kerumitan tergantung

pada jumlah sumber daya yang dijadwalkan, jumlah slot waktu dan lokasi.

Pada tugas akhir ini pembahasan difokuskan pada penjadwalan mata

kuliah di perguruan tinggi. Penjadwalan mata kuliah merupakan persoalan umum

dan sangat kompleks, karena harus mempertimbangkan tetapan-tetapan sesuai

dengan kebijakan perguruan tinggi.

2.1.2. Penjadwalan Mata Kuliah

Penjadwalan mata kuliah adalah kegiatan administratif yang paling utama di

universitas (perguruan tinggi). Dalam masalah penjadwalan mata kuliah, sejumlah

mata kuliah yang dialokasikan ke sejumlah ruang kelas yang tersedia dan

sejumlah slot waktu disertai dengan constraints. Constraints terbagi atas dua

jenis, yaitu hard constraints dan soft constraints.

Hard constraints merupakan batas-batas yang harus diterapkan pada

(21)

constraints disebut solusi layak. Hard constraints yang umum dalam penjadwalan

mata kuliah adalah sebagai berikut:

a. Seorang dosen hanya dapat memberi kuliah untuk satu lokasi pada waktu

tertentu.

b. Seorang mahasiswa hanya dapat mengikuti kuliah untuk satu lokasi pada

waktu tertentu.

c. Sebuah lokasi (ruangan) hanya dapat digunakan untuk satu mata kuliah

pada waktu tertentu.

d. Mahasiswa tidak dapat dialokasikan pada suatu lokasi yang menyebabkan

lokasi melebihi kapasitas maksimum.

Soft constraints didefinisikan sebagai batas-batas mengenai alokasi

sumber daya yang jika dilanggar masih dapat menghasilkan solusi yang layak

tetapi sedapat mungkin untuk dipenuhi. Dalam kenyataannya, masalah

penjadwalan mata kuliah biasanya tidak mungkin untuk memenuhi semua soft

constraints. Kualitas jadwal yang layak dapat dinilai berdasarkan seberapa baik

soft constraints dapat dipenuhi. Namun, beberapa masalah yang kompleks sulit

menemukan solusi yang layak. Sebagai contoh, soft constraints yang mungkin

ingin dicapai dalam jadwal sehubungan dengan aspek mata kuliah adalah

meminimalkan terjadinya jadwal mata kuliah satu tingkat yang beturut-turut.

Beberapa universitas dengan jumlah mata kuliah yang akan dijadwalkan

dan berbagai constraints yang harus dipertimbangkan membuat penyusunan

jadwal mata kuliah menjadi sangat sulit, sehingga dibutuhkan sebuah sistem

penjadwalan mata kuliah yang dapat membantu mempermudah dan mempercepat

(22)

2.2. PHP

PHP (merupakan akronim dari : PHP Hypertext Preprocessor), adalah

bahasa scripting sisi server (server-side) yang bisa ditempel di HTML

(embedded).(Hakim Lukmanul, 2008)

2.2.1. Sejar ah PHP

PHP pertama kali dikembangkan pada tahun 1994 oleh Rasmus Lerdorf

yang dilepas di Internet. Sedikit demi sedikit orang-orang mulai tertarik dengan

apa yang dikerjakan oleh Rasmus ini. Pada tahun berikutnya ia membuat scripting

engine yang bisa merespon form dari input form HTML yang merupakan Form

Interpreter (FI), lalu terciptalah apa yang disebut sebagai PHP/FI atau PHP2.

Beberapa lama kemudian, orang-orang mulai menggunakannya untuk

hal-hal yang lebih serius, dan pengembangan pun berubah dari hanya satu orang

menjadi satu kelompok para pengembang. Ini merupakan awal dari PHP3. Para

grup pengembang ini yang terdiri dari Rasmus Lerdorf, Andi Gustmans, Zeev

Suraski, Stig Bakken, Shane Caraveo dan Jim Winsted, memperbaiki dan

memperluas scripting engine-nya dan menambahkan API sederhana yang

memperbolehkan programmer lain untuk menambahkan fungsionalitas ke dalam

bahasa (PHP) dengan menuliskan sebuah modul untuk itu. Sintaksisnya pun lebih

disempurnakan yang dibuat sedemikian rupa sehingga familiar bagi orang-orang

yang berasal dari pemrograman object oriented atau bahasa prosedural. Jika anda

pernah belajar C, C++ atau Java, atau pernah belajar shell/awk scripting, atau

pernah menulis bahasa Pascal atau program Vbasic, maka mempelajari konstruksi

(23)

PHP3 pun di-release pada bulan juni tahun 1998. Versi 4 dari PHP mulai

diterbitkan pada akhir tahun 1999. PHP4 dikembangkan oleh perusahaan resmi

yaitu Zend yang menghasilkan beberapa produk pengoptimalisasian PHP4,

namun produk ini komersial, sementara engine core PHP4 nya sendiri adalah free.

Dengan segala kelebihannya pengguna PHP terus bertambah setiap bulannya.

2.2.2. Tentang PHP

PHP bisa digunakan bersama-sama dengan dokumen HTML sehingga kita

bisa membuat HTML itu dinamis sehingga bisa membuat halaman WEB lebih

dinamis. Kita bisa membuat aplikasi WEB dengan lebih baik yang tidak sekedar

pajangan-pajangan informasi yang susah untuk di-update.

Tetapi mengapa memilih PHP?, padahal masih banyak bahasa lain seperti

ASP, Cold Fusion, Perl, Java dan lainnya. Penulis memilih PHP sebagai bahasa

server side scripting karena kesederhanaannya (simplicity), PHP mempunyai

native API untuk koneksi ke berbagai database sehingga otomatis koneksinya

akan lebih cepat dibandingkan melalui ODBC (Open Database Conectivity) yang

merupakan perantara antara bahasa scripting dengan database, sebagaimana yang

selalu dilakukan oleh ASP misalnya. Selain itu PHP sangat cross-platform, yang

berarti dapat berjalan di platform manapun baik di Windows atau pun di Unix.

Berikut adalah beberapa keunggulan PHP selengkapnya:

1. Eksekusi scripting dilakukan sangat cepat sehingga meningkatkan

throughput dari server.

2. Simplisitasnya menjadikan penulisan program PHP lebih pendek dan

(24)

3. Dukungan koneksinya hampir ke semua database yang beredar sekarang

ini termasuk MySQL, PostgreSQL, mSQL, Sybase, Informix, Interbase,

Oracle, SQL Server, Ms Access, dBase dan masih banyak lainnya.

4. Selain menggunakan ODBC, PHP mempunyai native API untuk koneksi

ke database, sehinngga akses ke database akan lebih cepat karena

mengakses langsung ke database-nya (tidak melalui ODBC terlebih

dahulu).

5. PHP dapat dipasang di beberapa web server seperti PWS, IIS, Apache,

Xitami, Netscape Enterprise, AOL server dan Oreilly Wesite Pro. PHP

juga dapat dipasang dengan mode CGI atau ISAPI.

6. PHP dapat berjalan di berbagai platform seperti Windows dan Unix. Ini

memungkinkan programmer misalnya melakukan development di

Windows untuk kemudian di pasang di Linux.

7. PHP adalah software open-source yang gratis dan bebas didistribusikan

kembali di bawah lisensi GPL (GNU Public License). Source PHP dan file

binernya dapat secara bebas didapatkan di Internet, yaitu di situs resminya

: http://www.php.net . Pengembangan PHP yang begitu cepat sehingga bug

PHP dapat secara cepat dilaporkan dan diatasi hanya dalam hitungan hari

bahkan hitungan jam. (Puspitosari A. Heni, 2011)

2.2.3. Konsep Pempr ogr aman PHP

Untuk memahami proses atau prosedur pemrograman sisi server PHP

maka kita terlebih dahulu harus mengetahui bagaimana sebuah HTML biasa

(25)

sebagai berikut: ketika sebuah request ke sebuah halaman WEB datang dari

browser, maka WEB server melakukan 3 langkah:

a. Membaca request dari browser.

b. Mencari halaman yang diminta di server.

c. Mengirim balik halaman yang diminta melalui Internet atau Intranet ke

browser seperti tampak pada Gambar 2.1.

Gambar 2.1 Pr osedur Web Ser ver Memper lakukan File HTML Biasa

Sedangkan yang terjadi di sebuah halaman PHP adalah sebagai berikut:

Ketika ada request ke sebuah halaman PHP maka server melakukan hal-hal

berikut :

a. Membaca request dari browser.

(26)

c. Melakukan instruksi yang ada di halaman PHP yang diminta.

d. Mengirim balik halaman hasil eksekusi ke browser seperti tampak pada

Gambar 2.2.

Gambar 2.2 Pr osedur Web Ser ver Memper lak ukan File PHP

Kode PHP disimpan (saved) sebagai sebuah file plain text dalam format

ASCII, jadi kita bisa menulis kode/program PHP di hampir semua text editor,

seperti vi, emacs, dan Notepad. Penggunaan editor HTML seperti Dreamweaver

atau Homesite akan sangat membantu dalam menulis program PHP.

Seperti dijelaskan sebelumnya, program PHP dapat dimasukkan / ditempel

di halaman HTML, yang sebelumnya dieksekusi di server sebelum dikirim ke

browser. Contoh berikut ini akan menjelaskannya :

<HTML>

<?php

echo (“Text generated by PHP.”);

(27)

Sebuah file .html biasa akan dilewatkan begitu saja oleh HTTP server (WEB

server). WEB server tidak akan mencoba untuk memproses isinya dan akan

langsung dikirim balik ke browser karena adalah tugas browser untuk memproses

file .html seperti itu. File yang berekstensi .php akan diperlakukan berbeda.

Pertama WEB server akan mencari kode PHP. Pertama-tama WEB server akan

berjalan dengan “HTML mode”. Dengan kata lain pertama kali server

menjalankan sebuah file akan mengasumsikan bahwa isi file tersebut hanya berisi

HTML, CSS, JavaScript, teks sederhana dan beberapa teks lain yang bisa

langsung dilewatkan ke browser tanpa harus diterjemahkan terlebih dahulu. Web

Server akan masuk ke “PHP mode” ketika server menemukan tag php, yang

digunakan untuk melakukan ‘escape’ atau keluar dari kode HTML. Ada beberapa

cara untuk melakukannya :

a. Pada contoh diatas, penulis menggunakan instruksi proses XML seperti ini:

<?php echo (“kode PHP ditulis disini”); ?>

b. Juga bisa menggunakan instruksi proses SGML seperti ini:

<? echo (“kode PHP ditulis disini”); ?>

c. Cara yang ini agak sedikit merepotkan, dan pasti sangat familiar bagi para

pemrogram JavaScript dan VBScript. Gunakan hanya jika editor yang

digunakan tidak bisa menangani instruksi pemrosesan:

<SCRIPT LANGUAGE=’php’> echo (“kode PHP ditulis

disini”);</SCRIPT>

d. Mulai PHP 3.0.4, bisa mengkonfigurasi PHP untuk menggunakan karakter

‘escape’ ASP:

(28)

HTTP server akan langsung mengerti ketika menemukan karakter ‘escape’

diatas. Setelah menemukan mekanisme karakter escape seperti diatas, maka WEB

server akan langsung memproses kode PHP itu, kemudian hasil dari proses

tersebut akan dikirim ke browser berupa HTML biasa. Ketika http server

menemukan closing tag ?> maka server pun akan kembali ke mode HTML dan

kembali mengirim dokumen WEB tanpa melakukan suatu proses di sisi server.

Pada contoh diatas statement PHP nya adalah :

echo (“Text Generated by PHP.”);

Perlu diperhatikan bahwa setiap diakhir sebuah statement PHP harus

diakhiri dengan titik koma (;). Jika tidak maka akan muncul pesan kesalahan.

Statement echo diatas akan menghasilkan output ke browser. Dalam kasus ini

mengistruksikan PHP untuk mencetak output ke browser sebuah string “Text

generated by PHP”. (Beberapa programmer PHP menggunakan statement print

yang fungsinya sama dengan echo). Statement echo boleh menggunakan tanda

kurung ataupun tidak, jadi dua statement echo berikut ini akan menghasilkan hal

yang sama :

echo (“Text generated by PHP.”);

echo “Text generated by PHP.”;

Simpan contoh diatas dengan nama misalnya ‘test.php’ ke directory root

atau direktory yang termasuk didaftarkan di web server. Jika file test.php di akses

lewat browser maka halaman web ini akan menampilkan tulisan “Text generated

(29)

Gambar 2.3 Tampilan di Br owser Ketika test.php Dijalankan

Untuk melihat apa yang terjadi di halaman ini, bisa dilihat source code-nya

dengan klik view->source:

Gambar 2.4 Tampilan Source Code test.php Yang Diter ima Oleh Browser

Bisa dilihat bahwa semua perintah PHP beserta tag-nya menghilang, dan

hanya terlihat tag yang di luar tag PHP yaitu tag <HTML> dan string yang di

tampilkan. Ini karena script PHP dieksekusi di server, sebelum halaman ini di

kirim ke browser.

Variabel di PHP bersifat seperti penampung , jadi tipe data setiap variabel

bergantung dari isinya. Setiap variabel ditulis dengan didahului tanda ‘$’.

(30)

<?

$username = “Sandi”; // $username bertipe string

$umur = 21; // $umur bertipe integer

$umur = 21.5; // sekarang $umur bertipe double

?> (Siregar Michael Ivan, 2010)

2.3. SQL

SQL (Structured Query Language) adalah sebuah bahasa yang

dipergunakan untuk mengakses data dalam basis data relasional, atau bisa juga

SQL disebut sebagai bahasa permintaan basis data yang terstruktur.

Perintah-perintah standar SQL dapat dinamakan dengan query. Bahasa SQL ini secara

defacto merupakan bahasa standart yang digunakan dalam manajemen basis data

relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa

ini untuk melakukan manajemen datanya. MySQL sendiri merupakan perangkat

lunak server basis data yang menerima perintah-perintah standar basis data yang

bernama SQL. (Kadir Abdul, 2010)

2.3.1. Sejar ah SQL

Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF

Codd yang membahas tentang ide pembuatan basis data relasional pada bulan

Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standart

untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi

(31)

Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan

basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan

hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL.

Implementasi basis data relasional dikenal dengan System/R.

Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang

membuat server basis data populer yang bernama sama dengan nama

perusahaannya. Dengan naiknya kepopuleran Oracle, maka SQL juga ikut populer

sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.

Standarisasi SQL dimulai pada tahun 1986, ditandai dengan

dikeluarkannya standar SQL oleh ANSI. Standart ini sering disebut dengan

SQL86. Standart tersebut kemudian diperbaiki pada tahun 1989 kemudian

diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun

1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi

kebanyakan implementasi mereferensi pada SQL92.

Saat ini sebenarnya tidak ada server basis data yang 100% mendukung

SQL92. Hal ini disebabkan masing server memiliki dialek

masing-masing. (Kadir Abdul, 2010)

2.3.2. Pemakaian Dasar

Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition

Language (DDL) dan Data Manipulation Language (DML). Implementasi DDL

dan DML berbeda untuk tiap sistem manajemen basis data (SMBD), namun

secara umum implementasi tiap bahasa ini memiliki bentuk standart yang

(32)

2.3.3. Data Definition Language

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis

data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user,

dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk

membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah

objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya

digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis

data. (Kadir Abdul, 2010)

2.3.4. Data Manipulation Language

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah

yang umum dilakukan adalah:

a. SELECT untuk menampilkan data.

b. INSERT untuk menambahkan data baru.

c. UPDATE untuk mengubah data yang sudah ada.

d. DELETE untuk menghapus data.

2.4. Andr oid

Android dikembangkan oleh Google bersama Open Handset Allience

(OHA) yaitu aliansi perangkat selular terbuka yang terdiri dari 47 perusahaan

Hardware, Software dan perusahaan telekomunikasi ditujukan untuk

mengembangkan standar terbuka bagi perangkat selular. Smartphone pertama

yang menggunakan sistem operasi Android dikeluarkan oleh T-Mobile dengan

(33)

2.4.1. Penger tian Andr oid

Android adalah kumpulan perangkat lunak yang ditujukan bagi perangkat

bergerak mencakup sistem operasi, middleware, dan aplikasi kunci. Android

Standart Development Kid (SDK) menyediakan perlengkapan dan Application

Programming Interface (API) yang diperlukan untuk mengembangkan aplikasi

pada platform Android menggunakan bahasa pemrograman Java.

2.4.2. Sejar ah dan Perkembangan Andr oid

Pada mulanya terdapat berbagai macam sistem operasi pada perangkat

selular, diantaranya sistem operasi Symbian, Microsoft Windsos Mobile, Mobile

Linux, iPhone, dan sistem operasi lainnya. Namun diantara sistem operasi yang

ada belum mendukung standar dan penerbitan API yang dapat dimanfaatkan

secara keseluruhan dan dengan biaya yang murah. Kemudian Google ikut

berkecimpung didalamnya dengan platform Android, yang menjanjikan

keterbukaan, keterjangkauan, open source, dan framework berkualitas.

Pada tahun 2005, Google mengakuisisi perusahaan Android Inc. Untuk

memulai pengembangan platform Android. Dimana terlibat dalam pengembangan

ini Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Pada pertengahan 2007

sekelompok pemimpin industri bersama-sama membentuk aliansi perangkat

selular terbuka, Open Handset Alliance (OHA). Bagian dari tujuan aliansi ini

adalah berinovasi dengan cepat dan menanggapi kebutuhan konsumen dengan

lebih baik, dengan produk awalnya adalah platform Android. Dimana Android

(34)

handset, dan pengembang aplikasi. OHA berkomitmen untuk membuat Android

open source dengan lisensi Apache versi 2.0.

Android pertama kali diluncurkan pada 5 November 2007, dan smartphone

pertama yang menggunakan sistem operasi Android dikeluarkan oleh T-Mobile

dengan sebutan G1 pada bulan September 2008. Hingga saat ini Android telah

merilis beberapa versi Android untuk menyempurnakan versi sebelumnya. Selain

berdasarkan penomoran, pada setiap versi Android terdapat kode nama

berdasarkan nama-nama kue. Hingga saat ini sudah terdapat beberapa versi yang

telah diluncurkan, diantaranya: versi 1.5 dirilis pada 30 April 2009 diberi nama

Cupcake, versi 1.6 dirilis pada 15 September 2009 diberi nama Donut, dan versi

terakhir 2.3 diberi nama Gingerbread. Android merupakan generasi baru platform

mobile, platform yang memberikan pengembang untuk melakukan pengambangan

sesuai dengan yang diharapkan.

2.4.3. Andr oid Froyo

Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan.

Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan

Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat,

intergrasi V8 JavaScript engine yang dipakai Google Chrome yang mempercepat

kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card,

kemampuan WiFi Hotspot portabel, dan kemampuan auto update dalam aplikasi

Android Market. Android inilah yang sekarang sangat banyak beredar di pasaran,

(35)

2.4.4. Anatomi Andr oid

Dalam paket sistem operasi Android tediri dari beberapa unsur seperti

tampak pada Gambar 2.5. Secara sederhana arsitektur Android merupakan sebuah

kernel Linux dan sekumpulan pustaka C / C++ dalam suatu framework yang

menyediakan dan mengatur alur proses aplikasi.

Gambar 2.5 Detail Anatomi Andr oid

2.4.4.1. Linux Ker nel

Android dibangun di atas kernel Linux 2.6. Namun secara keseluruhan

Android bukanlah linux, karena dalam Android tidak terdapat paket standar yang

dimiliki oleh linux lainnya. Linux merupakan sistem operasi terbuka yang handal

dalam manajemen memori dan proses. Oleh karenanya pada Android hanya

terdapat beberapa servis yang diperlukan seperti keamanan, manajemen memori,

(36)

kamera, keypad, WiFi, Flash Memory, audio, dan IPC (Interprocess

Communication) untuk mengatur aplikasi dan lubang keamanan.

2.4.4.2. Libr a r ies

Android menggunakan beberapa paket pustaka yang terdapat pada C/C++

dengan standar Berkeley Software Distribution (BSD) hanya setengah dari yang

aslinya untuk tertanam pada kernel Linux. Beberapa pustaka diantaranya:

a. Media Library untuk memutar dan merekam berbagai macam format

audio dan video.

b. Surface Manager untuk mengatur hak akses layer dari berbagai aplikasi.

c. Graphic Library termasuk didalamnya SGL dan OpenGL, untuk tampilan

2D dan 3D.

d. SQLite untuk mengatur relasi database yang digunakan pada aplikasi.

e. SSl dan WebKit untuk browser dan keamanan internet.

Pustaka-pustaka tersebut bukanlah aplikasi yang berjalan sendiri, namun

hanya dapat digunakan oleh program yang berada di level atasnya. Sejak versi

Android 1.5.

2.4.4.3. Android Runtime

Pada Android tertanam paket pustaka inti yang menyediakan sebagian

besar fungsi Android. Inilah yang membedakan Android dibandingkan dengan

sistem operasi lain yang juga mengimplementasikan Linux. Android Runtime

(37)

dengan paket pustaka yang telah ada. Dalam Android Runtime terdapat 2 bagian

utama, diantaranya:

a. Pustaka Inti, Android dikembangkan melalui bahasa pemrograman Java,

tapi Android Runtime bukanlah mesin virtual Java. Pustaka inti Android

menyediakan hampir semua fungsi yang terdapat pada pustaka Java serta

beberapa pustaka khusus Android.

b. Mesin Virtual Dalvik, Dalvik merupakan sebuah mesin virtual yang

dikembangkan oleh Dan Bornstein yang terinspirasi dari nama sebuah

perkampungan yang berada di Iceland. Dalvik hanyalah interpreter mesin

virtual yang mengeksekusi file dalam format Dalvik Executable (*.dex).

Dengan format ini Dalvik akan mengoptimalkan efisiensi penyimpanan

dan pengalamatan memori pada file yang dieksekusi. Dalvik berjalan di

atas kernel Linux 2.6, dengan fungsi dasar seperti threading dan

manajemen memori yang terbatas.

2.4.4.4. Application Fr amewor k

Aplikasi Framework pada android ini adalah layer dimana para pembuat

aplikasi melakukan pengembangan/pembuatan aplikasi yang akan dijalankan di

sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan

dibuat. Kerangka aplikasi menyediakan kelas-kelas yang dapat digunakan untuk

mengembangkan aplikasi Android. Selain itu, juga menyediakan abstraksi generik

untuk mengakses perangkat, serta mengatur tampilan user interface dan sumber

daya aplikasi. Bagian terpenting dalam kerangka aplikasi Android adalah sebagai

(38)

1. Activity Manager, berfungsi untuk mengontrol siklus hidup aplikasi dan

menjaga keadaan ”Backstack“ untuk navigasi penggunaan.

2. Content Providers, berfungsi untuk merangkum data yang memungkinkan

digunakan oleh aplikasi lainnya, seperti daftar nama.

3. Resuource Manager, untuk mengatur sumber daya yang ada dalam

program. Serta menyediakan akses sumber daya diluar kode program,

seperti karakter, grafik, dan file layout.

4. Location Manager, berfungsi untuk memberikan informasi detail

mengenai lokasi perangkat Android berada.

5. Notification Manager, mencakup berbagai macam peringatan seperti,

pesan masuk, janji, dan lain sebagainya yang akan ditampilkan pada status

bar.

2.4.4.5. Application Layer

Puncak dari diagram arsitektur Android adalah lapisan aplikasi dan

widget. Lapisan aplikasi merupakan lapisan yang paling tampak pada pengguna

ketika menjalankan program. Pengguna hanya akan melihat program ketika

digunakan tanpa mengetahui proses yang terjadi dibalik lapisan aplikasi. Lapisan

ini berjalan dalam Android runtime dengan menggunakan kelas dan service yang

tersedia pada framework aplikasi.

Lapisan aplikasi Android sangat berbeda dibandingkan dengan sistem

operasi lainnya. Pada Android semua aplikasi, baik aplikasi inti (native) maupun

aplikasi pihak ketiga berjalan diatas lapisan aplikasi dengan menggunakan pustaka

(39)

2.4.5. Komponen Aplikasi

Fitur penting Android adalah bahwa satu aplikasi dapat menggunakan

elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh,

sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan

fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka

pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya,

cukup menggunakan scroller yang telah ada.

Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi

ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk

bagian itu. Oleh karenanya Android berbeda dari sistem-sistem lain, Android

tidak memiliki satu tampilan utama program seperti fungsi main() pada aplikasi

lain. Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan

sistem untuk memanggil dan menjalankan ketika dibutuhkan.

2.4.5.1. Activities

Activity merupakan bagian yang paling penting dalam sebuah aplikasi,

karena Activity menyajikan tampilan visual program yang sedang digunakan oleh

pengguna. Setiap Activity dideklarasikan dalam sebuah kelas yang bertugas untuk

menampilkan antarmuka pengguna yang terdiri dari Views dan respon terhadap

Event. Setiap aplikasi memiliki sebuah activity atau lebih. Biasanya pasti akan ada

activity yang pertama kali tampil ketika aplikasi dijalankan.

Perpindahan antara activity dengan activity lainnya diatur melalui sistem,

dengan memanfaatkan activity stack. Keadaan suatu activity ditentukan oleh

(40)

yang sedang berjalan. Bila suatu activity baru dimulai, activity yang sebelumnya

digunakan maka akan dipindahkan ketumpukan paling atas. Jika pengguna ingin

menggunakan activity sebelumnya, cukup menekan tombol Back, atau menutup

activity yang sedang digunakan, maka activity yang berada diatas akan aktif

kembali. Memory Manager Android menggunakan tumpukkan ini untuk

menentukan prioritas aplikasi berdasarkan activity, memutuskan untuk

mengakhiri suatu aplikasi dan mengambil sumber daya dari aplikasi tersebut.

Ketika activity diambil dan disimpan dalam tumpukkan activity terdapat 4

kemungkinan kondisi transisi yang akan terjadi:

1. Active, setiap activity yang berada ditumpukan paling atas, maka dia akan

terlihat, terfokus, dan menerima masukkan dari pengguna. Android akan

berusaha untuk membuat activity aplikasi ini untuk untuk tetap hidup

dengan segala cara, bahkan akan menghentikan activity yang berada

dibawah tumpukkannya jika diperlukan. Ketika activity sedang aktif, maka

yang lainnya akan dihentikan sementara.

2. Paused, dalam beberapa kasus activity akan terlihat tapi tidak terfokus

pada kondisi inilah disebut paused. Keadaan ini terjadi jika activity

transparan dan tidak fullscreen pada layar. Ketika activity dalam keadaan

paused, dia terlihat active namun tidak dapat menerima masukkan dari

pengguna. Dalam kasus ekstrim, Android akan menghentikan activity

dalam keadaan paused ini, untuk menunjang sumber daya bagi activity

yang sedang aktif.

3. Stopped, ketika sebuah activity tidak terlihat, maka itulah yang disebut

(41)

dan informasi yang ada. Namun akan menjadi kandidat utama untuk

dieksekusi oleh sistem ketika membutuhkan sumberdaya lebih. Oleh

karenanya ketika suatu activity dalam kondisi stopped maka perlu

disimpan data dan kondisi antarmuka saat itu. Karena ketika activity telah

keluar atau ditutup, maka dia akan menjadi inactive.

4. Inactive, kondisi ketika activity telah dihentikan dan sebelum dijalankan.

Inactive activity telah ditiadakan dari tumpukan activity sehingga perlu

restart ulang agar dapat tampil dan digunakan kembali. Kondisi transisi ini

sepenuhnya ditangani oleh manajer memori Android. Android akan

memulai menutup aplikasi yang mengandung activity inactive, kemudian

stopped activity, dan dalam kasus luar biasa paused activity juga akan di

tutup.

2.4.5.2. Ser vices

Suatu service tidak memiliki tampilan antarmuka, melainkan berjalan di

background untuk waktu yang tidak terbatas. Komponen service diproses tidak

terlihat, memperbarui sumber data dan menampilkan notifikasi. Service digunakan

untuk melakukan pengolahan data yang perlu terus diproses, bahkan ketika

Activity tidak aktif atau tidak tampak.

2.4.5.3. Intents

Intens merupakan sebuah mekanisme untuk menggambarkan tindakan

tertentu, seperti memilih foto, menampilkan halaman web, dan lain sebagainya.

(42)

oleh sistem untuk memberitahukan ke aplikasi bila terjadi suatu hal, misal pesan

masuk. Intents dapat eksplisit atau implisit, contohnya jika suatu aplikasi ingin

menampilkan URL, sistem akan menentukan komponen apa yang dibutuhkan oleh

Intents tersebut.

2.4.5.4. Br oadcast Receiver s

Broadcast Receivers merupakan komponen yang sebenarnya tidak

melakukan apa-apa kecuali menerima dan bereaksi menyampaikan

pemberitahuan. Sebagian besar Broadcast berasal dari sistem misalnya, Batre

sudah hampir habis, informasi zona waktu telah berubah, gambar telah selesai

diambil oleh camera, atau pengguna telah merubah bahasa default pada perangkat.

Sama halnya dengan service, Broadcast Receivers tidak menampilkan antarmuka

pengguna. Namun, Broadcast Receivers dapat menggunakan Notification

Manager untuk memberitahukan sesuatu kepada pengguna, seperti lampu latar

atau vibrating (getaran) perangkat, dan lain sebagainya.

2.4.5.5. Content Provider s

Content Providers digunakan untuk mengelola dan berbagi database. Data

dapat disimpan dalam file sistem, dalam database SQLite, atau dengan cara lain

yang pada prinsipnya sama. Dengan adanya Content Provider memungkinkan

antar aplikasi untuk saling berbagi data. Komponen ini sangat berguna ketika

sebuah aplikasi membutuhkan data dari aplikasi lain, sehingga mudah dalam

(43)

2.4.6. Tipe Aplikasi Andr oid

Terdapat tiga kategori aplikasi pada Android:

1. For egr ound Activity

Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap

efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti

mempertimbangkan siklus hidup activity, sehingga perpindahan antar

activity dapat berlangsung dengan lancar.

2. Backgr ound Ser vice

Aplikasi yang memiliki interaksi terbatas dengan user, selain dari

pengaturan konfigurasi, semua dari prosesnya tidak tampak pada layar.

Contohnya aplikasi penyaringan panggilan atau sms auto respon.

3. Inter mittent Activity

Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna,

namun sebagian sangat efektif jika dijalankan di background dan jika

diperlukan akan memberi tahu pengguna tentang kondisi tertentu.

Contohnya pemutar musik.

Untuk aplikasi yang kompleks akan sulit untuk menentukan kategori

aplikasi tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori. Oleh

karenanya perlu pertimbangan bagaimana aplikasi tersebut digunakan dan

menentukan kategori aplikasi yang sesuai. (H. Safaat Nazruddin, 2011)

2.4.7. Siklus Hidup Aplikasi Andr oid

Siklus hidup aplikasi Android dikelola oleh sistem, berdasarkan kebutuhan

(44)

menjalankan browser web, pada akhirnya sistem yang akan menentukan

menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah aplikasi

dijalankan, dihentikan sementara, atau dihentikan sama sekali. Jika pengguna

ketika itu sedang menjalankan sebuah Activity, maka sistem akan memberikan

perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak

terlihat dan sistem membutuhkan sumber daya yang lebih, maka Activity yang

prioritas rendah akan ditutup.

Android menjalankan setiap aplikasi dalam proses secara terpisah, yang

masing-masing memliki mesin virtual pengolah sendiri, dengan ini melindungi

penggunaan memori pada aplikasi. Selain itu juga Android dapat mengontrol

aplikasi mana yang layak menjadi prioritas utama. Karenanya Android sangat

sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya

penanganan terhadap setiap kondisi agar aplikasi menjadi stabil. Gambar 2.6

menunjukkan prioritas dari aplikasi. (Siregar Michael Ivan, 2010)

(45)

2.4.8. Kelebihan Andr oid

Sudah banyak platform untuk perangkat selular saat ini, termasuk

didalamnya Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile

Edition, Linux Mobile (LiM0), dan banyak lagi. Namun ada beberapa hal yang

menjadi kelebihan Android. Walaupun beberapa fitur-fitur yang ada telah muncul

sebelumnya pada platform lain, Android adalah yang pertama menggabungkan hal

seperti berikut:

1. Keterbukaan, Bebas pengembangan tanpa dikenakan biaya terhadap sistem

karena berbasiskan Linux dan open source. Pembuat perangkat menyukai

hal ini karena dapat membangun platform yang sesuai yang diinginkan

tanpa harus membayar royality. Sementara pengembang software

menyukai karena Android dapat digunakan diperangkat manapun dan

tanpa terikat oleh vendor manapun.

2. Arsitektur komponen dasar Android terinspirasi dari teknologi internet

Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi

lainnya, bahkan dapat diganti dengan komponen lain yang sesuai dengan

aplikasi yang dikembangkan.

3. Banyak dukungan service, kemudahan dalam menggunakan berbagai

macam layanan pada aplikasi seperti penggunaan layanan pencarian

lokasi, database SQL, browser dan penggunaan peta. Semua itu sudah

tertanam pada Android sehingga memudahkan dalam pengembangan

aplikasi.

4. Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga antara

(46)

menjadi lebih stabil. Pengguna tak perlu khawatir dalam menggunakan

aplikasi pada perangkat yang memorinya terbatas.

5. Dukungan grafis dan suarat terbaik, dengan adanya dukungan 2D grafis

dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan

OpenGL memungkinkan membuat aplikasi maupun game yang berbeda.

Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada

saat ini maupun yang akan datang. Semua program ditulis dengan

menggunakan bahas pemrograman Java dan dieksekusi oleh mesin virtual

Dalvik, sehingga kode program portabel antara ARM, X86, dan arsitektur

lainnya. Sama halnya dengan dukungan masukan seperti penggunaan

Keyboard, layar sentuh, trackball dan resolusi layar semua dapat

disesuaikan dengan program. (Mulyadi, 2010)

2.4.9. Contoh Coding

packa

c class uicoding1 extends Activity {

/** Called when the activity is first

Ujicoding1.java di atas berarti hanya menampilkan isi dari main.xml. hal

itu ditujukan dengan coding setContentView (R.layout.main), itu berarti user

(47)

Main.xml

<?xml

version="1.0" encoding="utf-8"?> <Line

arLayout xmlns:android="http://schemas.android.com /apk/

res/android"

android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, saya TextView" /> <Butt

on android:id="@+id/button"

android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, saya Button" /> </Lin

earLayout>

Di dalam main.xml ini terdiri dari dua komponen yaitu TextView dan

Button. TextView berupa tulisan “Hello saya TextView” dengan nama Variable

id/text serta Button dengan tulisan “Hello saya Button” dengan variable id/buton.

Di mana kedua komponen itu ditampilkan dengan layout “wrap_content”.

Pemberian nama variable dari setiap komponen didalam main.xml diawali dengan

tanda @+. Dapat dilihat pada Gambar 2.7 hasil implementasi coding diatas

(Nazaruddin Safaat H, 2011).

(48)

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini akan dibahas mengenai analisis dan perancangan aplikasi

Penjadwalan Mata Kuliah Berbasis WEB dan Android. Analisis aplikasi ditujukan

untuk menggambarkan secara umum bagaimana sistem bekerja. Hal ini berguna

untuk menunjang aplikasi yang nantinya akan dibuat sehingga kebutuhan sistem

tersebut dapat diketahui sebelumnya. Dengan adanya analisis sistem tersebut

dapat mempermudah untuk pengerjaan lebih lanjut sistem yang dibuat.

Perancangan sistem berguna untuk mengintegrasikan semua proses yang terjadi

dalam aplikasi yang akan dibuat. Untuk perancangan, alat yang digunakan adalah

DFD (Data Flow Diagram), kemudian CDM (Conceptual Data Model) dan PDM

(Phisycal Data Model) yang diperoleh dari hasil generate dari CDM. Sedangkan

perancangan antarmuka digunakan sebagai jembatan antara pengguna dengan

sistem aplikasi yang dibuat, sehingga pengguna dapat mengoperasikan aplikasi

yang dibuat. Secara umum, sistem yang dibuat digambarkan dalam skema sebagai

berikut Gambar 3.1 :

(49)

3.1 Analisis Sistem

Perancangan sistem dalam pembuatan aplikasi ini melalui beberapa

tahapan diantaranya pembuatan DFD (Data Flow Diagram), kemudian CDM

(Conceptual Data Model) dan PDM (Phisycal Data Model) yang diperoleh dari

hasil generate dari CDM.

3.1.1 DFD (Data Flow Diagram)

DFD merupakan alat perancangan sistem yang berorientasi pada alur data

dengan konsep dekomposisi yang dapat digunakan untuk menggambarkan analisa

maupun perancangan sistem.

a. Context Diagr am

Pada Context diagram terdapat dua user yang mempunyai peran sebagai

admin dan pengguna (Mahasiswa). Admin mempunyai hak penuh untuk

memanajemen aplikasi ini, akan tetapi admin untuk dapat masuk ke

dalam aplikasi ini harus dengan mengisikan username dan password

pada form login. Pengguna (Mahasiswa) hanya dapat melihat informasi

jadwal mata kuliah yang sudah di inputkan oleh admin. seperti pada

Gambar 3.2.

(50)

b. DFD Level 1

Pada DFD Level 1 ini terdapat 3 sub proses yaitu: Login, manipulasi

data dan menampilkan (search) data.

Pada proses ini, user (admin) harus melakukan login dengan

menginputkan username dan password dengan benar agar dapat masuk

ke aplikasi untuk manipulasi data. Pada aplikasi ini admin dapat

melakukan aktifitas meliputi: menambah data, merubah data dan

menghapus data. Setelah itu sistem akan menampilkan data pada

aplikasi berbasis Web dan Android untuk user (mahasiswa). Seperti

dijelaskan pada Gambar 3.3.

(51)

c. DFD Level 2

Pada DFD Level 2 ini (Gambar 3.4) terdapat 5 buah subproses yaitu:.

a. Pr oses 2.1 Pr oses Input Data

Pada proses ini, admin bisa menginputkan data-data jadwal kuliah,

data-data dosen, data-data hari, data-data kelas, data-data mata

kuliah, data-data periode, dan data-data ruang di mana tempat

diadakan jam mata kuliah.

b. Pr oses 2.2 Pr oses Rubah Data Bar u

Pada proses ini, admin bisa merubah data jadwal kuliah,

data-data dosen, data-data-data-data hari, data-data-data-data kelas, data-data-data-data mata kuliah,

data-data periode, dan data-data ruang di mana tempat diadakan jam

mata kuliah.

c. Pr oses 2.3 Pr oses Hapus Data

Pada proses ini, admin bisa menghapus data-data jadwal kuliah,

data-data dosen, data-data hari, data-data kelas, data-data mata

kuliah, data-data periode, dan data-data ruang di mana tempat

diadakan jam mata kuliah.

d. Pr oses Simpan Data Bar u

Proses ini merupakan proses penyimpanan data baru yang telah

dimasukkan oleh admin ke dalam database. Proses ini hanya dapat

dilakukan oleh administrator.

e. Pr oses Menampilkan Data

Merupakan proses untuk menampilkan data jadwal mata kuliah yang

telah tersimpan di database. Proses ini akan di tampilkan pada

(52)

Gambar 3.4 DFD Level 2 Pr oses Manipulasi Data

3.1.2 ERD Aplikasi J adwal Mata Kuliah

Dari analisa DFD di atas, maka diperoleh rancangan ERD yang akan

dijelaskan menggunakan CDM dan PDM. Untuk lebih jelasnya akan di bahas

pada bagian dibawah ini:

a. CDM (Conceptual Data Model)

Pada Gambar 3.5 di bawah ini terdapat beberapa entitas, antara lain:

user, modul, dosen, mata kuliah, kelas, hari, periode, ruang, dan jadwal

kuliah. CDM ini berfungsi untuk memodelkan struktur logis dari

keseluruhan aplikasi data, tidak tergantung pada software atau

pertimbangan model struktur data. CDM yang valid dapat dikonversi

(53)

Ga mbar 3.5 CDM (Conceptual Data Model).

b. PDM (Physical Data Model)

Pada Gambar 3.6 di bawah ini adalah hasil generate dari CDM yang

telah dibuat sebelumnya. PDM merupakan gambaran secara detail

(54)

3.2 Per ancangan Interface (antar muka)

Perancangan interface adalah bagian yang penting dalam aplikasi, karena

yang pertama kali dilihat ketika aplikasi dijalankan adalah tampilan antar muka

(interface) aplikasi.

a. Perancangan form login untuk admin

Form login, adalah form yang digunakan untuk autentifikasi user dan

password sebelum masuk pada form utama dari program. Untuk lebih

jelasnya, berikut adalah perancangan dari form login.

Gambar 3.7 Per ancangan For m Login Admin.

Tabel 3.1 Keterangan Perancangan Form Login Admin

No Komponen Keter angan

1

2

3

Text Field

Text Field

Button

User Name

Password

Login

b. Perancangan form utama admin

Form utama admin merupakan induk dari semua form admin. Dalam form

(55)

tambah data, update data dan delete data. Untuk lebih jelasnya, berikut adalah

perancangan dari form utama admin.

Ga mbar 3.8 Per ancangan For m Utama Admin.

Tabel 3.2 Keterangan Perancangan Form Utama Admin.

No Komponen Keter angan

1

2

3

4

5

6

7

Header

Tabel

Button

Tabel

Image Button

Image Button

Footer

Gambar bagian atas dari form admin

Berisikan menu toolbar

Tombol OK

Berisi list data yang sudah masuk

Untuk update data

Untuk delete data

Gambar

Gambar 2.5 Detail Anatomi Android
Gambar 2.6 Prioritas Aplikasi Berdasarkan Activity
Gambar 3.3 DFD Level 1
Gambar 3.9 Perancangan Form Utama Mahasiswa.
+7

Referensi

Dokumen terkait

Untuk perencanaan struktur beton (plat, tangga, balok dan kolom) digunakan kuat tekan beton fc’ = 20 MPa dan tegangan leleh baja fy = 300 MPa. Untuk struktur pondasi

Lembar observasi yang digunakan dalam penelitian ini berisi tentang bahaya yang mempengaruhi keselamatan rumah sakit dan peran rumah sakit dalam penanganan situasi

Hasil akhir dari proses konseling terhadap konseli dalam penelitian ini dinyatakan cukup berhasil dapat di buktikan dengan pernyataan konseli mengaku bahwa mendapatkan

Abstrak : Kampung Kauman merupakan kawasan yang memiliki perjalanan sejarah yang panjang, dengan tradisi yang kuat dan beragam yang terletak di Kecamatan Semarang Tengah..

Peraturan Menteri Dalam Negeri Nomor 32 Tahun 2011 tentang Pedoman Pemberian Hibah dan Bantuan Sosial yang Bersumber dari Anggaran Pendapatan dan Belanja Daerah

pemahaman mengenai konsep kewirausahaan dan memberikan motivasi untuk menjadi wirausaha muda dan memberikan ketrampilan yang dapat digunakan sebagai modal untuk

Konsep Ibn Jama’ah tentang metode pembelajaran banyak ditekankan pada hafalan ketimbang dengan metode lain. Sebagaimana dikatakan bahwa hafalan sangat penting dalam proses

Hal lain untuk mendukung kekerabatan adalah kata-kata yang menyatakan alam, misalnya untuk makna “matahari” direalisasikan menjadi mataurue (Aceh), matoari (