Aplikasi Portal Akademik Mobile Berbasis Android
APLIKASI PORTAL AKADEMIK MOBILE
BERBASIS ANDROID
TUGAS AKHIR
EVALYNA CHRISTIE S
092406170
PROGRAM STUDI D-III TEKNIK INFORMATIKA
DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS SUMATERA UTARA
MEDAN
2012
(2)
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh Ahli Madya
EVALYNA CHRISTIE S 092406170
PROGRAM STUDI D-III TEKNIK INFORMATIKA DEPARTEMEN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2012
(3)
ii
PERSETUJUAN
Judul : APLIKASI PORTAL AKADEMIK MOBILE
BERBASIS ANDROID
Kategori : TUGAS AKHIR
Nama : EVALYNA CHRISTIE S
Nomor Induk Mahasiswa : 092406170
Program Studi : DIPLOMA (D-III) TEKNIK INFORMATIKA
Departemen : MATEMATIKA
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN
ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di
Medan, 31 Mei 2012
Komisi Pembimbing :
Diketahui/Disetujui oleh
Departemen Matematika FMIPA USU Ketua,
Pembimbing
Prof. Dr. Tulus, M.Si Partano Siagian M.Sc
(4)
APLIKASI PORTAL AKADEMIK MOBILE BERBASIS ANDROID
TUGAS AKHIR
Penulis mengakui bahwa Tugas Akhir ini adalah hasil kerja penulis sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 31 Mei 2012
EVALYNA CHRISTIE S 092406170
(5)
iv
PENGHARGAAN
Puji dan syukur penulis panjatkan kepada Tuhan Yesus Kristus yang setia memberikan berkat, hikmat dan pertolonganNya kepada penulis, sehingga penulis dapat menyelesaikan Tugas Akhir dengan baik.
Penulis sepenuhnya menyadari bahwa penyelesaian Tugas Akhir tidak akan terwujud tanpa adanya dukungan dan bantuan semua pihak. Penulis mengucapkan terima kasih kepada kedua orang tua dan sahabat-sahabat yang selalu setia memberi semangat, dukungan, dan doa yang luar biasa. Untuk papa, terima kasih untuk metode PDCA nya, untuk mama terima kasih karna selalu mampu menyejukkan hati, dan adikku Evita untuk semangatnya berdoa untuk penulis.
Terima kasih untuk Bang Sam yang sudah memberikan ide pembuatan aplikasi untuk Tugas Akhir ini, dan juga saudara-saudara se-pelayanan di Chapel Oikumene USU yang selalu juga memberi semangat dan setia mendoakan penyelesaian Tugas Akhir ini. Penulis juga mengucapkan terima kasih kepada dosen pembimbing, Pak Partano Siagian untuk bimbingannya selama penyelesaian Tugas Akhir.
Untuk sahabat sekaligus teman seperjuangan penulis, Claudia, Marselina, Ester, Meliana, Joco, Roni, Anggi, Fuad, Marco, dan teman-teman di kom D, terima kasih untuk persahabatan kita selama tiga tahun ini dan untuk perjuangan kita mencapai cita-cita, semoga Tuhan yang member pertolongan dan masa depan penuh harapan untuk kita.
Sahabatku Sauli, terima kasih, walau tidak bisa berdiskusi untuk Tugas Akhir ini tapi dukunganmu membuatku lebih bersemangat. Dan yang terakhir untuk Bang Jhohannes Purba yang mau berdiskusi dengan penulis selama penyelesaian Tugas Akhir ini.
(6)
Penulis menyadari bahwa tugas akhir ini masih jauh dari sempurna, baik dalam penulisan maupun dalam tata bahasanya. Oleh karena itu penulis mengharapkan kritik dan saran yang membangun agar kedepannya penulis dapat lebih baik lagi dalam menyusun sebuah karya tulis.
Akhir kata penulis memohon maaf atas segala kekurangan yang ada dalam penulisan Tugas Akhir dan sekali lagi penulis berharap semoga tulisan ini membawa manfaat bagi pembaca secara umum dan terkhusus kepada penulis, serta dapat memotivasi kita untuk meningkatkan ilmu pengetahuan sebagai bekal di masa yang akan datang.
(7)
vi
ABSTRAK
Portal akademik merupakan tempat informasi mengenai perkuliahan dan hasil studi. Portal akademik sudah menjadi bagian penting dari sebuah perguruan tinggi sebagai media pertukaran informasi antar mahasiswa dan perguruan tinggi tersebut. Untuk melakukan pengaksesan informasi, mahasiswa melakukannya melalui browser. Tidak ada alternatif lain yang dapat digunakan untuk mengakses informasi, khususnya informasi hasil studi mahasiswa. Namun, dengan adanya teknologi telepon mobile yang saat ini juga sudah banyak digunakan dikalangan mahasiswa, dapat dibuat sebuah aplikasi sebagai alternatif pengaksesan informasi akademik dengan telepon mobile Android. Dengan adanya alternatif ini diharapkan dapat memudahkan mahasiswa maupun orangtua mahasiswa yang menggunakan telepon mobile Android untuk mengakses informasi hasil studi.
(8)
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Daftar Isi vii
Daftar Gambar dan Tabel ix
BAB 1 PENDAHULUAN
1.1Latar Belakang 2
1.2Rumusan Masalah 3
1.3Batasan Masalah 3
1.4Maksud dan Tujuan 4
1.5Metode Penelitian 4
1.6Sistematika Penulisan 5
BAB 2 LANDASAN TEORI
2.1 Mengenal Android 6
2.2 Sejarah Android 7
2.3 Platform Android 8
2.4 Android dan Java 10
2.5 Kerangka Aplikasi dan Aplikasi 10
2.6 Versi-versi Android 11
BAB 3 PERANCANGAN SISTEM
3.1 Perancangan Sistem 13
3.2 Rancangan Input 13
3.2.1 Rancangan Form Login 13
3.2.2 Rancangan Form Input Semester 14
3.3 Rancangan Basis data 15
(9)
viii
3.5 Flowchart Pembuatan Program 16
3.5.1 Flowchart Input Data 16
BAB 4 IMPLEMENTASI SISTEM
4.1 Pengertian Implementasi Sistem 17
4.2 Tujuan Implementasi Sistem 17
4.3 Komponen Utama Implementasi Sistem 18
4.3.1 Perangkat Keras (Hardware) 18
4.3.2 Perangkat Lunak (Software) 18
4.3.3 Pemakai (Brainware) 19
4.4 Analisi Kelayakan Teknologi 19
4.5 Analisi Manfaat 19
4.6 Halaman Aplikasi Portal Akademik Mobile Berbasis Android 19
4.6.1 Form Login 20
4.6.2 Form Input Semester 20
4.6.3 Tampilan Hasil Studi 21
BAB 5 KESIMPULAN DAN SARAN
5.1 Kesimpulan 22
5.2 Saran 22
DAFTAR PUSTAKA Lampiran
(10)
Halaman
Gambar 2.1 Android Timeline 7
Gambar 2.2 Tumpukan Android 9
Gambar 2.3 Android versus Java 10
Gambar 3.1 Form Login 14
Gambar 3.2 Form Input Semester 14
Gambar 3.3 Basis data Portal 15
Gambar 3.4 Rancangan Output 16
Gambar 4.1 Form Login 20
Gambar 4.2 Form Input Semester 20
Gambar 4.3 Tampilan Hasil Studi 21
(11)
vi
ABSTRAK
Portal akademik merupakan tempat informasi mengenai perkuliahan dan hasil studi. Portal akademik sudah menjadi bagian penting dari sebuah perguruan tinggi sebagai media pertukaran informasi antar mahasiswa dan perguruan tinggi tersebut. Untuk melakukan pengaksesan informasi, mahasiswa melakukannya melalui browser. Tidak ada alternatif lain yang dapat digunakan untuk mengakses informasi, khususnya informasi hasil studi mahasiswa. Namun, dengan adanya teknologi telepon mobile yang saat ini juga sudah banyak digunakan dikalangan mahasiswa, dapat dibuat sebuah aplikasi sebagai alternatif pengaksesan informasi akademik dengan telepon mobile Android. Dengan adanya alternatif ini diharapkan dapat memudahkan mahasiswa maupun orangtua mahasiswa yang menggunakan telepon mobile Android untuk mengakses informasi hasil studi.
(12)
PENDAHULUAN
1.1 Latar Belakang
Teknologi yang berkembang pesat saat ini yang sangat berpengaruh terhadap kehidupan jutaan manusia adalah internet dan ponsel. Internet memberikan kemudahan dalam mengakses informasi-informasi yang dibutuhkan dengan biaya murah dan tidak tergantung pada lokasi. Ponsel menghubungkan jarak yang jauh untuk berkomunikasi. Penggabungan dua teknologi tersebut memungkinkan untuk mengakses informasi yang tidak tergantung pada sumber informasi dan lokasi akses.
Aplikasi portal akademik yang penulis buat berjalan pada ponsel yang
menggunakan Android, yang merupakan sistem operasi dengan platform Java bersifat
open source yang bisa dikembangkan oleh siapa saja. Penulis membuat aplikasi ini agar mahasiswa yang menggunakan ponsel Android sebagai media pengakses informasi dapat memanfaatkan aplikasi ini untuk melihat sistem informasi akademik mahasiswa, khussnya D-III Teknik Informatika FMIPA USU. Sistem informasi akademik sebelumnya sudah ada dalam bentuk web. Tetapi karena perkembangan
teknologi yang diminati saat ini adalah teknologi mobile, penulis membuat aplikasi
(13)
2
Aplikasi sistem informasi akademik yang berjalan pada mobile Android ini
tidak jauh berbeda penggunaannya dengan sistem informasi akademik berbasis web,
namun tugasnya sama yaitu sebagai client. Yang membedakan hanyalah cara
pengaksesan data. Pengaksesan data menggunakan web dilakukan melalui browser
internet, berbeda dengan pengaksesan yang dilakukan langsung dengan aplikasi
khusus yang sudah diinstalasi dan terkoneksi ke server. Data yang diperlukan untuk
menghasilkan informasi bersumber dari tempat penyimpanan yang sama dan diolah
pada server yang sama pula.
Penulis tidak hanya bertujuan untuk memudahkan mahasiswa untuk mengakses informasi hasil studi mereka tetapi juga untuk memudahkan para orang tua melihat perkembangan belajar anak mereka dari hasil studinya dengan memanfaatkan aplikasi ini. Dan aplikasi ini juga dapat digunakan sebagai alternatif pengaksesan informasi hasil studi.
1.2 Rumusan Masalah
Untuk mengakses portal akademik biasa dilakukan melalui browser dan belum ada
alternatif lain untuk melakukan pengaksesannya. Bagaimana membuat sebuah aplikasi
portal akademik mobile sebagai alternatif pengaksesan melalui browser?
1.3 Batasan Masalah
Aplikasi portal akademik mobile berbasis Android ini dibuat untuk mengakses data
(14)
waktu penulis untuk menyelesaikan aplikasi ini.
1.4 Tujuan Penelitian
Tujuan penelitian dilakukan untuk pembuatan aplikasi portal akademik mobile
berbasis Android yang akan digunakan sebagai alternatif pengaksesan informasi akademik.
1.5 Metode Penelitian
Dalam menyusun tugas akhir ini, penulis melakukan penerapan metode penelitian dalam memperoleh data yang dibutuhkan sehingga penyusunan tugas akhir ini dapat diselesaikan dengan baik. Adapun metode penelitian yang penulis lakukan adalah sebagai berikut:
a. Penelitian Pustaka (Library Research)
Penelitian yang dilakukan penulis di perpustakaan dan juga di internet untuk mendapatkan data yang teoritis. Dalam hal ini yang harus diperhatikan adalah subjek yang diteliti, yaitu pada buku bacaan yang menjadi pembahasan dalam
membuat aplikasi mobile berbasis Android serta pembuatan basisdata dan
buku-buku yang membahas Android dan buku-buku-buku-buku teknik informatika lainnya untuk mempelajari istilah-istilah apa saja yang banyak dipergunakan.
(15)
4
b. Pengumpulan Data
Pengumpulan data dilakukan untuk memperoleh data yang diperlukan sebagai bahan bagi penulis. Salah satunya adalah pengumpulan data mahasiswa yang penulis mohonkan ke bagian akademik FMIPA USU.
c. Perancangan
Pada tahap ini penulis akan melakukan perancangan aplikasi portal akademik
mobile berbasis Android.
d. Data Entry
Aplikasi portal akademik mobile berbasis Android ini hanya memasukkan data
NIM (Nomor Induk Mahasiswa) dan kata sandi untuk dapat mengakses informasi hasil studi.
e. Uji Coba & Perbaikan
Proses uji coba dilakukan setelah semua perancangan dan implementasi ke dalam bahasa pemrograman selesai dilakukan. Ketika terdapat beberapa kekurangan desain perancangan pada saat uji coba dilaksanakan, maka penulis akan melakukan perbaikan pada perancangan guna memperoleh hasil akhir yang maksimal.
1.6 Sistematika Penulisan
(16)
BAB 1 PENDAHULUAN
Bab ini berisi tentang latar belakang, rumusan masalah, batasan masalah, maksud dan tujuan, metode penelitian, dan sistematika penulisan dari tugas akhir.
BAB 2 LANDASAN TEORI
Bab ini mengungkapkan tentang konsep dasar dan teori-teori yang mendukung pembahasan untuk judul tugas akhir ini yang didapat dari beberapa literatur.
BAB 3 PERANCANGAN SISTEM
Bab ini membahas tentang perancangan Aplikasi Portal Akademik Mobile Berbasis
Android dan gambaran umum rancangannya.
BAB 4 IMPLEMENTASI SISTEM
Bab ini membahas analisa hasil dan pembahasan Aplikasi Portal Akademik Mobile
Berbasis Android yang dirancang, pembuatan program yang diajukan, tampilan dari program dan pengujian aplikasi.
BAB 5 PENUTUP
Bab ini berisi kesimpulan dari bab-bab yang ada, sehingga dari kesimpulan ini penulis memberi saran untuk melengkapi dan menyempurnakan pengembangan aplikasi ini untuk ke depannya.
(17)
BAB 2
LANDASAN TEORI
Landasan teori merupakan bagian yang akan membahas tentang penyelesaian masalah yang akan memberikan jalan keluarnya. Dalam hal ini akan dikemukakan beberapa teori-teori yang berkaitan dengan masalah.
2.1 Mengenal Android
Android, sebagai sebuah sistem, adalah sistem operasi berbasis Java yang berjalan pada kernel 2.6 Linux. Aplikasi Android yang dikembangkan menggunakan Java dan
mudah menyesuaikan ke platform baru (DiMarzio, 2008). Android merupakan satu
kumpulan lengkap perangkat lunak yang dapat berupa sistem operasi, middleware,
dan aplikasi kunci perangkat mobile. Android terdiri dari satu tumpukan yang lengkap,
mulai dari boot loader, device driver, dan fungsi-fungsi pustaka, hingga perangkat
lunak API (Application Programming Interface), termasuk aplikasi SDK (Software
Development Kit). Jadi, sebenarnya Android bukanlah satu perangkat tertentu,
melainkan sebuah platform yang dapat digunakan dan diadaptasikan untuk
mendukung berbagai konfigurasi perangkat keras. Walaupun kelas utama perangkat
yang didukung oleh Android adalah telepon mobile, tetapi sekarang ini juga
digunakan pada electronic book readers, netbooks, tablet, dan set-top boxes (STB)
(18)
2.2 Sejarah Android
Telepon mobile menggunakan sebuah sistem operasi sejenis Symbian OS, Windows
Mobile, Mobile Linux, iPhone OS, dan banyak sistem operasi lainnya. Standar-standar
pendukung dan penerbitan API akan sangat meluas, pengembangan aplikasi mobile
dengan biaya rendah, tetapi tidak ada sistem operasi yang memegang peranan utama
dalam penggunaan Android. Kemudian Google memasuki bagian ini dengan Platform
Androidnya, membuka peluang harapan, harga terjangkau, pengkodean yang bersifat
open source, dan sebuah kerangka kerja pengembangan.
Google memulai perusahaan Android Inc. pada tahun 2005, memulai
pengembangan Platform Android (lihat gambar). Pemain-pemain dalam Android Inc.
termasuklah didalamnya Andy Rubin, Rich Miner, Nick Sears, dan Chris White.
Gambar 2.1 Android Timeline
Pada akhir tahun 2007, sebuah kelompok industri muncul bersamaan dengan
Platform Android untuk membentuk Open Handset Alliance (http://www.openhandsetalliance.com). Beberapa diantaranya adalah Sprint Nextel, T-Mobile, Motorola, Samsung, Sony Ericson, Toshiba, Vodafone, Google, Intel, Texas Instrument.
(19)
8
Bagian dari tujuan aliansi adalah mendapatkan paham baru dengan sangat
cepat dan merespon kebutuhan konsumen dengan lebih baik, dan Platform Android
sebagai yang utama. Android didesain untuk melayani kebutuhan-kebutuhan
operator-operator mobile, perusahaan penyedia perangkat, dan pengembang aplikasi.
Anggota-anggota yang melakukannya merilis hal-hal intelektual yang spesifik melalui open
source Lisensi Apache, Versi 2.0 (Hashimi & Komatineni, 2009).
2.3 Platform Android
Android dibangun di atas Linux. Linux adalah sistem operasi yang baik dan bersifat
open source. Banyak alasan mengapa memilih Linux sebagai dasar dari susunan Android. Beberapa hal yang penting adalah portabilitas, keamanan, dan fitur-fiturnya.
Linux adalah sebuah platform portable yang mudah dikompilasi pada
bermacam-macam arsitektur perangkat keras. Yang dibawa Linux pada Android adalah sebuah level abstraksi perangkat. Dengan adanya Android pada Linux, kita tidak perlu terlalu khawatir mengenai fitur-fitur perangkat keras yang menggunakan ini. Kebanyakan bagian-bagian Linux pada level rendah sudah ditulis dengan pengkodean C yang
portable, yang mengizinkan bagian ketiga meletakkan Android terhadap perangkat jenis apa saja.
(20)
Gambar 2.2 Tumpukan Android
Linux merupakan sistem operasi dengan keamanan yang tinggi. Android mengandalkannya karena keamanan yang dimiliki Linux. Seluruh aplikasi Android berjalan sesuai dengan proses-proses Linux dengan izin-izin yang diatur oleh sistem Linux itu sendiri. Linux hadir dengan banyak fitur-fitur yang bermanfaat. Android mengambil banyak keuntungannya, seperti dukungan manajemen memori, manajemen
(21)
10
2.4 Android dan Java
Pada Java, kita menulis source file java, mengkompilasinya ke dalam byte code Java
menggunakan kompiler Java, kemudian menjalankan byte code Java pada Java VM.
Berbeda pada Android, ketika source file Java sudah dikompilasi ke dalam byte code,
kita harus mengkompilasinya sekali lagi menggunakan Dalvik kompiler menjadi byte
code Dalvik. Byte code Dalvik inilah yang akan dieksekusi pada Dalvik VM. Gambar
berikut mengilustrasikan perbandingan antara standar Java (disebelah kiri) dengan Android yang menggunakan Dalvik (disebelah kanan).
Gambar 2.3 Android versus Java
2.5 Kerangka Aplikasi dan Aplikasi
Kerangka aplikasi merupakan sebuah lingkungan yang menyediakan layanan-layanan yang banyak membantu, pengembang aplikasi, menyelesaikan pekerjaan kita. Pada lapisan kerangka aplikasi ini, kita akan menemukan pustaka-pustakan Java dengan
(22)
menyediakan ekosistem kapabilitas aplikasi kita, seperti lokasi, sensor, WiFi, telepon, dan masih banyak lagi. Menjelajahi pengembangan aplikasi Android, kebanyakan kita berfokus pada bagian dari tumpukan ini, dan kita akan menggunakan banyak komponen kerangka aplikasi.
Ada aplikasi-aplikasi yang dapat kita dan para pengembang lainnya untuk ciptakan. Aplikasi-aplikasi ini merupakan bagian akhir dari pengerjaan aplikasi Android. Aplikasi-aplikasi ini dapat diinstalasi pada perangkat ataupun diunduh dari satu perangkat ke banyak pasar Android.
2.6 Versi-Versi Android
Seperti perangkat lunak lainnya, Android terus diperbaharui, yang direfleksikan ke dalam urutan versi-versinya. Berikut ini adalah tabel yang menunjukkan perkembangan versi-versi pada Android.
Tabel 2.1 Versi-versi Android
Versi Android Tanggal Peluncuran API Level Nama Kode
1.0 23 September 2008 1 -
1.1 9 Februari 2009 2 -
1.5 30 April 2009 3 CupCake
1.6 15 September 2009 4 Donut
2.0 26 Oktober 2009 5 Eclair
2.01 3 Desember 2009 6 Eclair
(23)
12
2.2 20 Mei 2010 8 Froyo (Frozen Yogurt)
2.3 6 Desember 2010 9 Gingerbread
2.3.3 9 Februari 2011 10 Gingerbread
3.0 12 Februari 2011 11 Honeycomb
3.1 10 Mei 2011 12 Honeycomb
3.2 2 Juli 2011 13 Honeycomb
4.0 19 Oktober 2011 14 Ice Cream Sandwich
4.03 16 Desember 2011 15 Ice Cream Sandwich
Angka versi Android menceritakan tentang besar dan kecil platform yang dirilis. Yang
paling penting adalah level API dari setiap versi. Angka versi berubah setiap waktu. Terkadang disebabkan oleh perubahan API, dan bisa juga karena kecilnya perbaikan
(24)
BAB 3
PERANCANGAN SISTEM
3.1 Perancangan Sistem
Perancangan sistem bertujuan untuk memenuhi kebutuhan penulis mengenai gambaran yang jelas tentang perancangan sistem yang akan dibuat dan diimplementasikan.
Untuk memulai membangun sebuah aplikasi mobile, dalam hal ini penulis
membangun sebuah aplikasi mobile untuk menghasilkan informasi hasil studi
mahasiswa D-III Teknik Informatika FMIPA USU. Telebih dahulu penulis merancang alur proses berdasarkan kebutuhan pengguna yang akan menggunakan aplikasi ini.
3.2 Rancangan Input
Aplikasi ini hanya memiliki rancangan input untuk login diawal penggunaan aplikasi
dan tidak melakukan pemasukan data apapun selain nama pengguna dan sandi pengguna. Ini dilakukan karena aplikasi ini dibangun memang hanya untuk mendapatkan informasi hasil studi mahasiswa saja. Komponen-komponen yang
(25)
14
3.2.1. Rancangan Form Login
Digunakan agar dapat mengakses informasi hasil studi berdasarkan NIM (Nomor Induk Mahasiswa). Hal ini harus dilakukan karena pengaksesan hasil studi merupakan hal yang pribadi dan hanya mahasiswa yang terdaftar dan aktif saja yang dapat mengakses hasil studi. Nama dan sandi pengguna sudah ada dalam basis data.
Gambar 3.1 Rancangan Form Login
3.2.2 Rancangan FormInput
Pada bagian ini hasil studi dari mahasiswa yang berhasil login ditampilkan,
sebelumnya mahasiswa memilih terlebih dahulu semester dan tahun akademik hasil studi yang ingin ditampilkan.
(26)
3.3 Rancangan Basisdata
Basisdata, menurut Ramakrishnan dan Gehrke (2003), adalah kumpulan data, umumnya mendeskripsikan aktivitas satu organisasi atau lebih yang berhubungan (Simarmata & Paryudi, 2006). Database yang penulis gunakan dalam perancangan ini
adalah portal.sql dari MySQL. Dalam database ini terdapat sepuluh tabel yang saling
berhubungan, termasuk juga di dalamnya tabel-tabel hasil query.
Gambar 3.3 Basis data Portal
3.4 Rancangan Output
Perancangan output merupakan perancangan form yang digunakan untuk
menampilkan hasil studi mahasiswa sesuai dengan nama dan sandi yang dimasukkan
dan berdasarkan pilihan terhadap semester dan tahun akademik. Komponen pada form
ini hanya menggunakan TextView. Jadi, hasil studi ditampilkan dengan beberapa komponen TextView.
(27)
16
Gambar 2.7 Rancangan Output
3.5 Flowchart Pembuatan Program
Flowchart merupakan bagan yang menunjukkan arus pekerjaan secara keseluruhan
dari sistem. Flowchart menjelaskan tentang urutan-urutan dari prosedur yang ada di
dalam sistem dengan menggunakan simbol-simbol.
3.5.1 FlowchartInput Data
Tidak
Ya START
HASIL STUDI NIM & Sandi
(28)
BAB 4
IMPLEMENTASI SISTEM
4.1 Pengertian Implementasi Sistem
Implementasi adalah suatu prosedur yang dilakukan untuk menyelesaikan sistem yang ada dalam dokumen rancangan sistem yang telah disetujui dan telah diuji, menginstal aplikasi pendukung yang digunakan dan memulai mengerjakan pembuatan aplikasi dan basisdata, serta pengujian dan dokumentasinya.
4.2 Tujuan Implementasi Sistem
Adapun tujuan dari implementasi sistem adalah mengkaji rangkaian sistem baik dari
segi software maupun hardware sebagai sarana pengolahan data dan penyajian data,
menyelesaikan rancangan sistem yang ada didalam dokumentasi sistem yang baru atau yang telah disetujui, memastikan bahwa pemakai dapat mengoperasikan dengan mudah sistem yang telah dibuat, memastikan bahwa sistem telah berjalan dengan lancar dengan mengontrol dan melakukan instalasi secara benar, dan memperhitungkan bahwa sistem telah memenuhi permintaan pemakai yaitu dengan menguji sistem secara menyeluruh.
(29)
18
Pada umumnya setiap desain yang dirancang membutuhkan komponen yang mendukung agar sistem tersebut dapat berjalan dengan baik. Komponen-komponen
sistem yang dibutuhkan dalam membangun aplikasi portal akademik mobile ini
diantaranya:
4.3.1 Perangkat Keras (Hardware)
Hardware secara bahasa berarti perangkat keras dari komputer, secara istilah
hardware adalah bagian dari komputer yang dapat dirasakan kehadirannya secara fisik
dengan cara dilihat dan disentuh. Hardware merupakan seluruh komponen peralatan
yang membentuk suatu sistem komputer, dan peralatan lainnya yang memungkinkan komputer dapat melaksanakan tugasnya. Dalam pembuatan aplikasi portal akademik
mobile, penulis hanya menggunakan komputer (laptop), sebagai pengganti telepon
mobile yang mendukung Android, digunakan emulator Android yang sudah diinstalasi dan dapat dioperasikan melalui komputer.
4.3.2 Perangkat Lunak (Software)
Perangkat lunak (software) adalah sekumpulan instruksi yang memungkinkan perangkat keras untuk dapat memproses data. Perangkat lunak ini tidak berbentuk fisik, melainkan berupa program yang diciptakan melalui perangkat elektronik. Dalam perangkat lunak dikenal dengan apa yang disebut sistem operasi dan program aplikasi. Penulis mengambangkan bagian perangkat lunak berupa aplikasi.
Perangkat-perangkat lunak yang penulis gunakan untuk membuat aplikasi portal akademik ini antara lain Java Development Kit (JDK), Eclipse Helios, Android SDK
(30)
Dreamweaver CS5, dan XAMPP.
4.3.3 Pemakai (Brainware)
Pemakai dalam hal ini adalah mahasiswa atau pengguna lain yang mengakses aplikasi
portal akademik mobile ini. Dan penulis juga termasuk dalam bagian ini, karena
penulis yang mengembangkan sistem yang sudah ada dengan membuat aplikasi ini.
4.4 Analisis Kelayakan Teknologi
Teknologi telepon mobile Android merupakan teknologi baru dan hampir semua
perangkat kompatibel dengannya. Kebanyakan pengguna telepon mobile Android di
Indonesia masih mengunduh aplikasi-aplikasi yang ada pada Android Market daripada
membuat aplikasi sendiri dengan mengembangkan source yang sudah ada.
Pengembangan teknologi ini tidak mahal karena bersifat open source. Siapapun dapat
menjadi pengembangnya dan membuat aplikasi.
4.3 Analisis Manfaat
Pembuatan aplikasi portal akademik mobile berbasis Android ini bermanfaat untuk
mengembangkan kemampuan pemrograman dan kreatifitas penulis. Dan manfaat adanya aplikasi ini dapat menjadi alternatif pengaksesan hasil studi mahasiswa.
4.4 Halaman Aplikasi Portal Akademik Mobile Berbasis Android
(31)
20
4.4.1 FormLogin
Form yang pertama kali ditampilkan ketika aplikasi diaktifkan. Pada bagian ini
pengguna memasukkan NIM (Nomor Induk Mahasiswa) dan kata sandi.
Gambar 4.1 FormLogin
4.4.2 FormInput Semester
Setelah berhasil login, pengguna akan masuk ke dalam form ini. Pada bagian ini,
pengguna memilih semester dan tahun akademik dari hasil studi yang akan ditampilkan.
(32)
Pada bagian ini adalah tampilan dari hasil studi yang sudah dipilih semester dan tahun
akademiknya pada form sebelumnya. Dan ini merupakan halaman terakhir dari
aplikasi. Untuk kembali ke menu awal hanya dengan tombol kembali yang sudah
tersedia pada telepon mobile.
(33)
BAB 5
PENUTUP
5.1 Kesimpulan
Dengan pembuatan Tugas Akhir Aplikasi Portal Akademik Mobile Berbasis Android,
penulis dapat mengambil beberapa kesimpulan, yaitu:
1. Adanya alternatif lain untuk mengakses informasi akademik, khususnya untuk
permasalahan ini adalah informasi hasil studi mahasiswa.
2. Dengan adanya teknologi telepon mobile Android yang open source, kita dapat
menjadi pengembangnya, pembuat aplikasi-aplikasi yang bermanfaat.
3. Menarik minat mahasiswa untuk mempelajari mobile computing.
5.2 Saran
Saran-saran yang penulis dapat berikan, yaitu:
1. Sebaiknya program aplikasi portal akademik ini dikembangkan lagi, tidak hanya pada
informasi hasil studi. Penulis berharap setelah ada pengembangan dan perbaikan
terhadap User Interface yang lebih menarik, dapat benar-benar digunakan untuk
mengakses informasi hasil studi pada Fakultas MIPA.
2. Penambahan materi kuliah mengenai mobile computing, akan sangat membantu
(34)
(35)
DAFTAR PUSTAKA
Gargenta, M. 2011. Learning Android. O’Reilly Media: California.
Hashimi, Sayed Y., Komatineni, Satya. 2009. Pro Android. Apress: New York.
Collins, C,. Galpin, M.D. & Kappler, M. 2012. Android in Practice. Manning: Shelter Island,
New York.
(36)
L
A
M
P
I
R
A
N
(37)
LISTING PROGRAM
Login.java
package portal.akademik;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.EditText; import android.widget.Toast; import android.view.View; import android.view.Window;
import android.view.WindowManager; import android.view.View.OnClickListener; import android.widget.Button;
import java.util.ArrayList;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import portal.akademik.CustomHttpClient;
publicclass Login extends Activity{
EditText nim, pass; Button masuk, keluar;
/** Called when the activity is first created. */ @Override
(38)
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
nim = (EditText) findViewById(R.id.login_nim);
pass = (EditText) findViewById(R.id.login_pass);
masuk = (Button) findViewById(R.id.masuk);
keluar = (Button) findViewById(R.id.keluar);
//daftarkan event onClick pada (Button) masuk
masuk.setOnClickListener(new View.OnClickListener(){
@Override
publicvoid onClick(View v) {
ArrayList<NameValuePair> postParameters = new
ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("nim", nim.getText().toString()));
postParameters.add(new BasicNameValuePair("pass", pass.getText().toString()));
String response = null;
try {
response =
CustomHttpClient.executeHttpPost("http://10.0.2.2/ta/Login_portal.php", postParameters);
String res = response.toString();
res = res.trim();
res = res.replaceAll("\\s+","");
(39)
if(res.equals("1")) {
Toast.makeText(getBaseContext(), "Berhasil Login.",
Toast.LENGTH_SHORT).show(); //tampilkan
Intent intent = null;
intent = new Intent(Login.this, Khs.class); startActivity(intent);
//menyimpan value nim pada method setNim di kelas SessionLogin
SessionLogin.setNim(nim.getText().toString());
}else {
Toast.makeText(getBaseContext(), "Gagal Login. Coba Lagi.",
Toast.LENGTH_SHORT).show();//gagal
}
}catch (Exception e){
e.printStackTrace();
} }
});
keluar.setOnClickListener(new OnClickListener(){
publicvoid onClick(View v){ nim.setText(""); pass.setText(""); }
});
} }
(40)
Khs.java
package portal.akademik;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.view.Window;
import android.view.WindowManager; import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener; import android.widget.ArrayAdapter;
import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Spinner;
publicclass Khs extends Activity{
public Spinner spinSemester; public RadioButton ganjil, genap; public Button tampil;
publicvoid onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);
(41)
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.showdata);
// SPINNER UNTUK TAHUN AKADEMIK
spinSemester = (Spinner) findViewById(R.id.spinner1);
List<String> spinner = new ArrayList<String>();
spinner.add("2011"); spinner.add("2012"); spinner.add("2013"); spinner.add("2014");
ArrayAdapter<String> spinSem = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, spinner);
spinSem.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_it
em);
spinSemester.setAdapter(spinSem);
spinSemester.setOnItemSelectedListener(new OnItemSelectedListener(){
@Override
publicvoid onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Semester.setTahun(spinSemester.getSelectedItem().toString());
}
@Override
publicvoid onNothingSelected(AdapterView<?> arg0) { // DO NOTHING
(42)
// RADIOBUTTON UNTUK SEMESTER
ganjil = (RadioButton) findViewById(R.id.ganjil);
genap = (RadioButton) findViewById(R.id.genap);
ganjil.setOnClickListener(new RadioGroup.OnClickListener(){
publicvoid onClick(View v) {
Semester.setSemester(ganjil.getText().toString());
} });
genap.setOnClickListener(new RadioGroup.OnClickListener(){
publicvoid onClick(View v) {
Semester.setSemester(genap.getText().toString());
} });
tampil = (Button) findViewById(R.id.tampilkan);
tampil.setOnClickListener(new View.OnClickListener(){
@Override
publicvoid onClick(View v) { Intent intent = null;
intent = new Intent(Khs.this, InformasiHasilStudi.class);
startActivity(intent); }
}); }
(43)
}
InformasiHasilStudi.java package portal.akademik;
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream;
import java.io.InputStreamReader; import java.util.ArrayList;
import org.apache.http.HttpEntity; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient; import org.json.JSONArray;
import org.json.JSONException; import org.json.JSONObject;
import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.Window;
import android.view.WindowManager; import android.widget.TextView; import android.widget.Toast;
(44)
String semAndroid = Semester.getSemester();
String thnAndroid = Semester.getTahun();
TextView kode, nm_mk, sks, nilai, nim, totalsks, ip, ipk;
TextView sem, thn;
publicvoid onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.tampil_nilai2);
nim = (TextView) findViewById(R.id.nimAndroid);
sem = (TextView) findViewById(R.id.semester);
thn = (TextView) findViewById(R.id.tahun);
kode = (TextView) findViewById(R.id.kode);
nm_mk = (TextView) findViewById(R.id.nm_mk);
sks = (TextView) findViewById(R.id.sks);
nilai = (TextView) findViewById(R.id.nilai);
totalsks = (TextView) findViewById(R.id.totalsks);
ip = (TextView) findViewById(R.id.ip);
tampil(); }
(45)
nim.setText(nimAndroid); sem.setText(semAndroid); thn.setText(thnAndroid);
String url =
"http://10.0.2.2/ta/tampil_nilai.php?nim="+nimAndroid.toString()+"&thnakademik="+thnAn droid.toString()+"&semester="+semAndroid.toString();
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url.trim());
ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();
try{
httpPost.setEntity(new UrlEncodedFormEntity(param));
HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity();
InputStream in = httpEntity.getContent();
BufferedReader read = new BufferedReader(new InputStreamReader(in));
String content = ""; String line = "";
while((line = read.readLine())!=null){ content += line;
}
Log.d("ADBUG", "content: " + content);
//JSON
(46)
int totalsSks = 0;
double bobot = 0;
double skor;
double totalSkor = 0;
double IP = 0;
try {
JSONArray jArr = new JSONArray(content);
String KODE = ""; String NM_MK = ""; String SKS = ""; String NILAI = "";
for(int i=0;i<jArr.length();i++){
JSONObject jObj = jArr.getJSONObject(i);
//Mengambil value dari setiap field tabel di database String Kode = jObj.getString("kodemk");
String Nm_Mk = jObj.getString("namamk"); String Sks = jObj.getString("sks");
String Nilai = jObj.getString("nilai");
if(jObj.getString("nilai").equals("A")) {
bobot=4; }
(47)
{
bobot=3; }
elseif(jObj.getString("nilai").equals("B+")) {
bobot=3.5; }
elseif(jObj.getString("nilai").equals("C")) {
bobot=2; }
elseif(jObj.getString("nilai").equals("C+")) {
bobot=2.5; }
elseif(jObj.getString("nilai").equals("D")) {
bobot=1; }
elseif(jObj.getString("nilai").equals("E")) {
bobot=0; }
//Menghitung jumlah nilai
skor = bobot * Integer.parseInt(jObj.getString("sks"));
//Menghitung jumlah sks
//Jumlahkan sks, ambil dari string, kemudian konversi ke integer totalsSks = totalsSks + Integer.parseInt(jObj.getString("sks"));
//Menghitung jumlah nilai setelah dikalikan dengan bobot dan sks totalSkor = totalSkor + skor;
(48)
IP = totalSkor/ totalsSks;
KODE += Kode+"\n"; NM_MK += Nm_Mk+"\n"; SKS += Sks+"\n";
NILAI += Nilai+"\n";
}
//Menampilkan hasil parsing data dari mysql kode.setText(KODE.toString());
nm_mk.setText(NM_MK.toString()); sks.setText(SKS.toString());
nilai.setText(NILAI.toString());
//menampilkan totalsks, ip, dan ipk
totalsks.setText(String.valueOf(totalsSks)); ip.setText(String.valueOf(IP));
} catch (JSONException e) { e.printStackTrace();
} }else{
Toast.makeText(this, "Error" , Toast.LENGTH_LONG).show(); }
} catch (ClientProtocolException e) { e.printStackTrace();
} catch (IOException e) { e.printStackTrace();
(49)
} }
SessionLogin.java
package portal.akademik;
publicclass SessionLogin {
static String nim; static String pass;
publicstatic String getPassword() { returnpass;
}
publicstaticvoid setPassword(String p) { pass = p;
}
publicstatic String getNim() { returnnim;
}
publicstaticvoid setNim(String u) { nim = u;
}
} Semester.java
package portal.akademik;
(50)
publicstatic String getSemester(){
returnsemester;
}
publicstaticvoid setSemester(String s){
semester = s;
}
publicstatic String getTahun(){
returntahun;
}
publicstaticvoid setTahun(String t){
tahun = t;
} }
ClientToServer.java
package portal.akademik;
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.URI;
import java.util.ArrayList;
import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet;
(51)
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnManagerParams; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams;
public class ClientToServer {
public static final int HTTP_TIMEOUT = 30 * 1000; private static HttpClient client;
private static HttpClient getHttpClient() { if (client == null) {
client = new DefaultHttpClient();
final HttpParams parameterHttp = client.getParams();
HttpConnectionParams.setConnectionTimeout(parameterHttp, HTTP_TIMEOUT);
ConnManagerParams.setTimeout(parameterHttp, HTTP_TIMEOUT); }
return client; }
public static String eksekusiHttpPost(String url,
ArrayList<NameValuePair> postParameter) throws Exception { BufferedReader in = null;
try {
HttpClient klien = getHttpClient(); HttpPost req = new HttpPost(url);
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity( postParameter);
req.setEntity(formEntity);
HttpResponse jawaban = klien.execute(req);
in = new BufferedReader(new InputStreamReader(jawaban.getEntity() .getContent()));
(52)
String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) {
sb.append(line + NL); }
in.close();
String hasil = sb.toString(); return hasil;
} finally {
if (in != null) { in.close(); }
} }
public static String eksekusiHttpGet(String url) throws Exception { BufferedReader in = null;
try {
HttpClient hc = getHttpClient(); HttpGet req = new HttpGet(); req.setURI(new URI(url));
HttpResponse resp = hc.execute(req);
in = new BufferedReader(new InputStreamReader(resp.getEntity() .getContent()));
StringBuffer sb = new StringBuffer(""); String line = "";
String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) {
sb.append(line + NL); }
in.close();
(53)
return hasil; } finally {
if (in != null) { in.close(); }
} }
}
CustomHttpClient.java
package portal.akademik;
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.URI;
import java.util.ArrayList;
import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnManagerParams; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.params.HttpConnectionParams; import org.apache.http.params.HttpParams;
(54)
/** The time it takes for our client to timeout */
publicstaticfinalintHTTP_TIMEOUT = 30 * 1000 ; // milliseconds
/** Single instance of our HttpClient */
privatestatic HttpClient mHttpClient;
/**
* Get our single instance of our HttpClient object.
* @return an HttpClient object with connection parameters set
*/
privatestatic HttpClient getHttpClient() { if (mHttpClient == null) {
mHttpClient = new DefaultHttpClient();
final HttpParams params = mHttpClient.getParams();
HttpConnectionParams.setConnectionTimeout(params, HTTP_TIMEOUT);
HttpConnectionParams.setSoTimeout(params, HTTP_TIMEOUT);
ConnManagerParams.setTimeout(params, HTTP_TIMEOUT);
}
returnmHttpClient;
} /**
* Performs an HTTP Post request to the specified url with the * specified parameters.
*
* @param url The web address to post the request to
* @param postParameters The parameters to send via the request
* @return The result of the request
* @throws Exception
(55)
public static String executeHttpPost(String url, ArrayList<NameValuePair>
postParameters) throws Exception {
BufferedReader in = null;
try {
HttpClient client = getHttpClient();
HttpPost request = new HttpPost(url);
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
request.setEntity(formEntity);
HttpResponse response = client.execute(request);
in = new BufferedReader(new
InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer(""); String line = "";
String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) {
sb.append(line + NL); }
in.close();
String result = sb.toString(); return result;
} finally {
if (in != null) { try {
in.close();
} catch (IOException e) { e.printStackTrace(); } } } } /**
(56)
* @throws Exception */
publicstatic String executeHttpGet(String url) throws Exception {
BufferedReader in = null;
try {
HttpClient client = getHttpClient();
HttpGet request = new HttpGet();
request.setURI(new URI(url));
HttpResponse response = client.execute(request);
in = new BufferedReader(new
InputStreamReader(response.getEntity().getContent()));
StringBuffer sb = new StringBuffer(""); String line = "";
String NL = System.getProperty("line.separator"); while ((line = in.readLine()) != null) {
sb.append(line + NL); }
in.close();
String result = sb.toString(); return result;
} finally {
if (in != null) { try {
in.close();
} catch (IOException e) { e.printStackTrace(); }
(57)
} } } }
main.xml (Login.java)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"> <ImageView
android:layout_width="match_parent"
android:id="@+id/image"
android:src="@drawable/mipa"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:paddingBottom="10dip"> </ImageView>
<TextView
android:id="@+id/textView1"
android:text="APLIKASI INFORMASI HASIL STUDI"
android:textStyle="bold"
android:textSize="16sp"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
(58)
android:id="@+id/textView2"
android:text="D-III TEKNIK INFORMATIKA"
android:textStyle="bold"
android:textSize="16sp"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="20dip"/> <ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical">
<TextView
android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="N I M"
android:textStyle="bold"/>
<EditText
android:id="@+id/login_nim"
android:layout_height="wrap_content"
android:layout_width="fill_parent"> </EditText>
<TextView
android:text="S A N D I"
(59)
android:layout_width="wrap_content"
android:layout_height="wrap_content"> </TextView>
<EditText
android:id="@+id/login_pass"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:inputType="textPassword"> </EditText>
<Button
android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="LOGIN"
android:textStyle="bold"
android:id="@+id/masuk" android:onClick="loginHandler" android:layout_gravity="center"/>
<Button
android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="RESET"
android:textStyle="bold" android:id="@+id/keluar" android:onClick="exitHandler" android:layout_gravity="center"/>
</LinearLayout> </ScrollView> </LinearLayout>
(60)
showdata.xml (Khs.java)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"
android:layout_gravity="center">
<RadioGroup
android:id="@+id/radioGroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RadioButton
android:id="@+id/ganjil"
android:text="ganjil"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<RadioButton
android:id="@+id/genap"
android:text="genap"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</RadioGroup>
<Spinner
android:id="@+id/spinner1" android:text="Tahun:"
(61)
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:layout_marginTop="2dp"/>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" android:orientation="vertical"
android:layout_gravity="center"> <Button
android:text="Tampilkan"
android:id="@+id/tampilkan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout> </LinearLayout>
tampil_nilai.xml (InformasiHasilStudi.java)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:padding="15dip"
android:orientation="vertical"> <LinearLayout
android:orientation="vertical"
(62)
android:paddingLeft="20dip"
android:paddingRight="20dip"> <TextView
android:text="INFORMASI HASIL STUDI"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="20dip"
android:textSize="20sp"
android:textStyle="bold"/> <TextView
android:text="Login: "
android:id="@+id/nimLogin" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_gravity="left" android:layout_marginBottom="20dip" android:textSize="10sp"
android:textStyle="normal"/> <TableLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:stretchColumns="*"> <TableRow>
<TextView
android:text="KODE"
android:textSize="14sp"
android:textStyle="bold"
android:gravity="center"/> <TextView
(63)
android:text="MATAKULIAH"
android:textSize="14sp"
android:textStyle="bold"
android:gravity="center"/>
<TextView
android:text="NILAI"
android:textSize="14sp"
android:textStyle="bold"
android:gravity="center"/> </TableRow>
<LinearLayout
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_gravity="center"
>
<TextView
android:id="@+id/kodemk"
android:textSize="12sp"
android:textStyle="italic"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/> <TextView
android:id="@+id/namamk"
android:textSize="12sp"
android:textStyle="italic"
android:gravity="center"
android:layout_height="wrap_content"
(64)
android:textSize="12sp"
android:textStyle="italic"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout> </TableLayout>
</LinearLayout> </LinearLayout>
login_portal.php
<?php
$nim=$_POST['nim']; $pass=trim($_POST['pass']);
mysql_connect("localhost","root","");
mysql_select_db("portal");
$query = "SELECT * FROM login WHERE nim = '$nim' AND pass = $pass'";
$result = mysql_query($query) or die("Unable to verify user because : " . mysql_error());
if(mysql_num_rows($result) == 1){
echo 1;
(65)
else {
// print status message echo 0;
}
?>
tampil_nilai.php
<?php
mysql_connect("localhost","root",""); mysql_select_db("portal");
$nimAndroid = $_GET['nim']; $semAndroid = $_GET['semester']; $thnAndroid = $_GET['thnakademik'];
$sqlString = "SELECT data_ip2.kodemk, data_ip2.namamk, data_ip2.sks, data_ip2.nilai FROM data_ip2 WHERE data_ip2.thnakademik ='$thnAndroid' AND data_ip2.semester = '" . $semAndroid . "' AND data_ip2.nim ='$nimAndroid'";
$rs = mysql_query($sqlString);
if($rs){
while($objRs = mysql_fetch_assoc($rs)){ $output[] = $objRs;
}
echo json_encode($output); }
mysql_close(); ?>
(66)
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) JL. BIOTEKNOLOGI NO. 1 KAMPUS USU Telp. (061) 8214290 MEDAN – 20155, EMAIL : Dekanat@FMIPA.USU.AC.ID
KARTU BIMBINGAN TUGAS AKHIR MAHASISWA
Nama Mahasiswa : Evalyna Christie S
Nomor Stambuk : 092406170
Judul Tugas Akhir : Aplikasi Portal Akademik Mobile Berbasis Android
Dosen Pembimbing 1 : Partano Siagian M.Sc
Tanggal Mulai Bimbingan :
Tanggal Selesai Bimbingan :
No
TANGGAL ASSISTEN BIMBINGAN
PEMBAHASAN PADA ASSISTEN MENGENAI
PADA BAB
PARAF DOSEN
PEMBIMBING KETERANGAN
1 ACC PROPOSAL
2 ACC BAB 1
3 ACC BAB 2
4 ACC BAB 3
5 ACC BAB 4
6 ACC BAB 5
7 UJI PROGRAM
Kartu ini harap dikembalikan kejurusan Matematika
Bila Bimbingan Mahasiswa telah Selesai
Diketahui Disetujui
Ketua Jurusan Matematika Pembimbing Utama/
Penanggung Jawab
Prof. Dr. Tulus, M.Si Partano Siagian M.Sc
(67)
SURAT KETERANGAN
Hasil Uji Program Tugas AkhirYang bertanda tangan dibawah ini, menerangkan bahwa Tugas Akhir Mahasiswa
Program D-III Teknik Informatika :
Nama : EVALYNA CHRISTIE S
Nomor Induk Mahasiswa : 092406170
Program Studi : D-III TEKNIK INFORMATIKA
Judul Tugas Akhir : APLIKASI PORTAL AKADEMIK MOBILE
BERBASIS ANDROID
Telah melaksanakan tes program Tugas Akhir dari mahasiswa tersebut yang dilaksanakan pada tanggal 01 Juni 2012.
Dengan Hasil : Sukses / Gagal
Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian Meja Hijau Tugas Akhir Mahasiswa yang bersangkutan di Departemen Matematika FMIPA USU Medan.
Medan, 01 Juni 2012 Dosen Pembimbing
Partano Siagian M.Sc NIP. 130877994
(1)
android:layout_width="fill_parent"
android:layout_gravity="center"
android:paddingLeft="20dip"
android:paddingRight="20dip"> <TextView
android:text="INFORMASI HASIL STUDI"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="20dip"
android:textSize="20sp"
android:textStyle="bold"/> <TextView
android:text="Login: "
android:id="@+id/nimLogin"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="left"
android:layout_marginBottom="20dip"
android:textSize="10sp"
android:textStyle="normal"/> <TableLayout
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_gravity="center"
android:stretchColumns="*"> <TableRow>
<TextView
android:text="KODE"
android:textSize="14sp"
android:textStyle="bold"
android:gravity="center"/> <TextView
(2)
android:text="MATAKULIAH"
android:textSize="14sp"
android:textStyle="bold"
android:gravity="center"/>
<TextView
android:text="NILAI"
android:textSize="14sp"
android:textStyle="bold"
android:gravity="center"/> </TableRow>
<LinearLayout
android:orientation="horizontal"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
android:layout_gravity="center"
>
<TextView
android:id="@+id/kodemk"
android:textSize="12sp"
android:textStyle="italic"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/> <TextView
android:id="@+id/namamk"
android:textSize="12sp"
android:textStyle="italic"
android:gravity="center"
android:layout_height="wrap_content"
(3)
<TextView
android:text="@+id/nilai2"
android:textSize="12sp"
android:textStyle="italic"
android:gravity="center"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
</LinearLayout> </TableLayout>
</LinearLayout> </LinearLayout>
login_portal.php
<?php
$nim=$_POST['nim']; $pass=trim($_POST['pass']);
mysql_connect("localhost","root",""); mysql_select_db("portal");
$query = "SELECT * FROM login WHERE nim = '$nim' AND pass = $pass'";
$result = mysql_query($query) or die("Unable to verify user because : " . mysql_error());
if(mysql_num_rows($result) == 1){
echo 1;
(4)
else {
// print status message echo 0;
}
?>
tampil_nilai.php
<?php
mysql_connect("localhost","root",""); mysql_select_db("portal");
$nimAndroid = $_GET['nim']; $semAndroid = $_GET['semester']; $thnAndroid = $_GET['thnakademik'];
$sqlString = "SELECT data_ip2.kodemk, data_ip2.namamk, data_ip2.sks, data_ip2.nilai FROM data_ip2 WHERE data_ip2.thnakademik ='$thnAndroid' AND data_ip2.semester = '" . $semAndroid . "' AND data_ip2.nim ='$nimAndroid'";
$rs = mysql_query($sqlString);
if($rs){
while($objRs = mysql_fetch_assoc($rs)){ $output[] = $objRs;
}
echo json_encode($output); }
(5)
KEMENTERIAN PENDIDIKAN NASIONAL
UNIVERSITAS SUMATERA UTARA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) JL. BIOTEKNOLOGI NO. 1 KAMPUS USU Telp. (061) 8214290
MEDAN – 20155, EMAIL : Dekanat@FMIPA.USU.AC.ID
KARTU BIMBINGAN TUGAS AKHIR MAHASISWA
Nama Mahasiswa : Evalyna Christie S
Nomor Stambuk : 092406170
Judul Tugas Akhir : Aplikasi Portal Akademik Mobile Berbasis Android
Dosen Pembimbing 1 : Partano Siagian M.Sc
Tanggal Mulai Bimbingan :
Tanggal Selesai Bimbingan :
No
TANGGAL ASSISTEN BIMBINGAN
PEMBAHASAN PADA ASSISTEN MENGENAI
PADA BAB
PARAF DOSEN
PEMBIMBING KETERANGAN
1 ACC PROPOSAL
2 ACC BAB 1
3 ACC BAB 2
4 ACC BAB 3
5 ACC BAB 4
6 ACC BAB 5
7 UJI PROGRAM
Kartu ini harap dikembalikan kejurusan Matematika
Bila Bimbingan Mahasiswa telah Selesai
Diketahui Disetujui
Ketua Jurusan Matematika Pembimbing Utama/
Penanggung Jawab
Prof. Dr. Tulus, M.Si Partano Siagian M.Sc
(6)
SURAT KETERANGAN
Hasil Uji Program Tugas AkhirYang bertanda tangan dibawah ini, menerangkan bahwa Tugas Akhir Mahasiswa
Program D-III Teknik Informatika :
Nama : EVALYNA CHRISTIE S
Nomor Induk Mahasiswa : 092406170
Program Studi : D-III TEKNIK INFORMATIKA
Judul Tugas Akhir : APLIKASI PORTAL AKADEMIK MOBILE
BERBASIS ANDROID
Telah melaksanakan tes program Tugas Akhir dari mahasiswa tersebut yang dilaksanakan pada tanggal 01 Juni 2012.
Dengan Hasil : Sukses / Gagal
Demikian diterangkan untuk digunakan melengkapi syarat pendaftaran Ujian Meja Hijau Tugas Akhir Mahasiswa yang bersangkutan di Departemen Matematika FMIPA USU Medan.
Medan, 01 Juni 2012 Dosen Pembimbing
Partano Siagian M.Sc NIP. 130877994