Aplikasi Portal Akademik Mobile Berbasis Android

(1)

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 Akhir

Yang 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 Akhir

Yang 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