Upload
nimas-ayu-mailani
View
80
Download
13
Embed Size (px)
DESCRIPTION
a
Citation preview
LAPORAN PRAKTEK KERJA LAPANGAN
RANCANG BANGUN PROTOTYPE APLIKASI PORTAL BERITA PADA
KEMENTERIAN PERTANIAN REPUBLIK INDONESIA
BERBASIS ANDROID
Oleh:
Nimas Ayu Mailani
1111091000053
PROGRAM SARJANA (S1) KOMPUTER
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS NEGERI SYARIF HIDAYATULLAH
JAKARTA
2015 M/ 1436 H
iii
KATA PENGANTAR
Puji dan syukur penulis panjatkan kehadirat Allah SWT atas limpahan
rahmat dan karunia Nya sehingga penulis dapat menyelesaikan laporan hasil
Praktik Kerja Lapangan dengan judul Rancang Bangun Prototype Aplikasi
Portal Berita Pada Kementerian Pertanian Republik Indonesia Berbasis
Android. Laporan PKL ini disusun sebagai salah satu syarat mahasiswa/i Teknik
Informatika dalam menyelesaikan program studi Strata I (S1) di Universitas Islam
Negeri Syarif Hidayatullah Jakarta.
Pada kesempatan kali ini, penulis mengucapkan terimakasih kepada pihak -
pihak yang telah membantu penulis selama pelaksanaan dan penulisan Laporan
PKL, yaitu diantaranya:
1. Orangtua serta seluruh anggota keluarga yang telah memberi dukungan
dan bantuan berupa moriil maupun materiil.
2. Bapak Dr. Agus Salim, M. Si selaku Dekan Fakultas Sains dan
Teknologi.
3. Ibu Arini, MT dan Bapak Feri Fahrianto, M.Sc, selaku Ketua dan
Sekretaris Program Studi Teknik Informatika.
4. Ibu Nenny Anggraini, S. Kom, MT selaku Dosen Pembimbing PKL
yang telah membimbing penulis dalam pelaksanaan kegiatan.
5. Pak Andry Polos, S. Kom, MT selaku Pembimbing Lapangan yang
telah mengarahkan penulis selama pelaksanaan kegiatan di
Kementerian Pertanian RI.
iv
6. Seluruh Civitas Kementerian Pertanian beserta pihak pihak terkait
yang telah membantu penulis dalam memperoleh informasi.
7. Seluruh teman teman TI B 2011 yang telah memberi dukungan,
semangat dan sebagai tempat bertukar pikiran.
8. Seluruh pihak yang telah membantu baik secara moriil maupun materiil
yang tidak dapat penulis sebutkan satu persatu.
Penulisan laporan PKL ini masih jauh dari kesempurnaan, karena itu penulis
menerima saran dan kritik yang membangun demi meningkatkan kualitas penulis
di masa mendatang.
Semoga laporan PKL ini membawa manfaat, khususnya bagi penulis sendiri
dan umumnya untuk pengembangan ilmu.
Jakarta, Juni 2015
Penulis
Nimas Ayu Mailani
v
DAFTAR ISI
HALAMAN PENGESAHAN............................................ Error! Bookmark not defined.
KATA PENGANTAR ....................................................................................................... iii
DAFTAR ISI ....................................................................................................................... v
DAFTAR GAMBAR ......................................................................................................... vi
DAFTAR BAGAN ........................................................................................................... vii
DAFTAR TABEL ............................................................................................................ viii
DAFTAR LAMPIRAN ...................................................................................................... ix
BAB I PENDAHULUAN ................................................................................................... 2
1.1. Latar Belakang .................................................................................................... 2
1.2. Rumusan Masalah ............................................................................................... 3
1.3. Batasan Masalah ................................................................................................. 4
1.4. Tujuan ................................................................................................................. 4
1.5. Manfaat ............................................................................................................... 5
1.6. Waktu dan Tempat .............................................................................................. 6
1.7. Peserta ................................................................................................................. 7
1.8. Sistematika Penulisan ......................................................................................... 7
BAB II LANDASAN TEORI DAN GAMBARAN UMUM ............................................. 9
2.1. Landasan Teori .................................................................................................... 9
2.2. Sejarah Instansi Kementerian Pertanian RI....................................................... 20
2.3. Visi dan Misi Kementerian Pertanian RI .......................................................... 21
BAB III PELAKSANAAN PRAKTIK KERJA LAPANGAN ........................................ 24
3.1. Metodologi Penelitian ....................................................................................... 24
3.2. Identifikasi Prototype ........................................................................................ 28
3.3. Pembuatan Prototype ........................................................................................ 31
3.4. Pengujian dan Evaluasi Prototype .................................................................... 32
3.5. Perubahan Prototype ......................................................................................... 40
3.6. Transformasi Prototype Skala Besar ................................................................. 41
BAB IV PENUTUP .......................................................................................................... 42
4.1. Kesimpulan ....................................................................................................... 42
4.2. Saran ................................................................................................................. 42
DAFTAR PUSTAKA ....................................................................................................... 44
LAMPIRAN ...................................................................................................................... 46
vi
DAFTAR GAMBAR
Gambar 2.1. Tahapan prototyping model .................................................. 13
Gambar 2.2. Struktur penulisan aplikasi Java ........................................... 16
vii
DAFTAR BAGAN
Bagan 2.1. Struktur organisasi Kementerian Pertanian RI ........................ 23
Bagan 3.1. Alur pengembangan sistem ..................................................... 27
Bagan 3.2. Use case diagram sistem aplikasi portal berita ........................ 30
Bagan 3.3. Activity diagram sistem aplikasi portal berita ......................... 31
viii
DAFTAR TABEL
Tabel 3.1. Unit testing LoadData ............................................................... 33
Tabel 3.2. Unit testing onCreate ................................................................ 38
ix
DAFTAR LAMPIRAN
Lampiran 1. Daftar Directory Project Eclipse .......................................... 47
Lampiran 2. Source Code Json PHP .......................................................... 48
Lampiran 3. Source Code Berita ............................................................... 49
Lampiran 4. Surat Permohonan PKL ......................................................... 56
Lampiran 5. Surat Keterangan Menyelesaikan PKL ................................. 57
Lampiran 6. Surat Permohonan Bimbingan PKL ...................................... 58
Lampiran 7. Penilaian PKL Pembimbing Lapangan ................................. 59
Lampiran 8. Penilaian PKL Pembimbing Bidang Penulisan Laporan ...... 60
Lampiran 9. Rekap Penilaian PKL Mahasiswa ......................................... 61
2
BAB I
PENDAHULUAN
1.1. Latar Belakang
Telepon genggam merupakan satu dari banyak produk kemajuan
teknologi. Pada kuartal pertama tahun 2014, pengguna ponsel bertambah 120
juta orang dan 65% ponsel yang terjual adalah smartphone. Riset ini didukung
oleh Yahoo! dan Mindshare (IFT Online, 2013) yang melakukan riset serupa
dengan ruang lingkup Indonesia. Riset yang dilakukan oleh Yahoo dan
Mindshare mengungkapkan bahwa pada pertengahan tahun 2013 terdapat 41,3
juta orang di Indonesia memiliki smartphone dimana 39% adalah anak muda
dengan kisaran usia 16 tahun hingga 21 tahun. Kisaran usia dibawah 30 tahun
merupakan usia adaptif dalam menghadapi perkembangan teknologi. Nielsen
On Device Meter (Kompasiana Tekno, 2014) mencatat tahun 2013 pengguna
smartphone meningkat dari tahun 2012 yang mencapai 19% dan dalam satu
hari pengguna smartphone di Indonesia menghabiskan 140 menit untuk
mengoperasikan smartphone miliknya. Riset ini membuktikan bahwa
masyarakat Indonesia banyak berinteraksi dengan smartphone baik saat
bekerja maupun di waktu senggangnya
Kementerian Pertanian Republik Indonesia merupakan salah satu
instansi pemerintah Indonesia yang berdiri pada tanggal 1 Januari 1905
berdasarkan Surat Keputusan Gubernur Jenderal Hindia Belanda tanggal 23
3
September 1904 No.28 Staatsblaad 982 yang didasarkan pada Surat Keputusan
Raja Belanda No.28 tanggal 28 Juli 1904 (Staatsblaad No.380) (Wikipedia, n.d.)
Kementerian Pertanian RI, melakukan pengabdiannya dengan turun
langsung di tengah masyarakat sebagai jembatan penghubung antara
pemerintah Republik Indonesia dengan masyarakatnya. Salah satu bentuk
pengabdiannya dengan memberikan berbagai informasi di bidang Pertanian
atau agrikultur, sehingga masyarakat dapat mengetahui secara transparan
kinerja Kementerian Pertanian dan informasi informasi terkait pertanian.
Informasi informasi tersebut dapat diakses melalui laman website resmi
Kementerian Pertanian RI. Namun, hal ini masih kurang optimal dimana
tampilan website tidak responsif dengan berbagai macam ukuran layar,
sehingga pengunjung website kurang nyaman dalam mengakses informasi.
Merujuk pada kekurangan website Kementerian Pertanian RI dan hasil
riset yang didapat dari berbagai instansi, penulis memutuskan untuk
mengoptimalkan penyampaian informasi dengan membuat prototype aplikasi
portal berita pada platform Android dengan judul Rancang Bangun Prototype
Aplikasi Portal Berita pada Kementerian Pertanian Republik Indonesia
Berbasis Android.
1.2. Rumusan Masalah
Berdasarkan latar belakang tersebut, maka rumusan masalah yang akan
dibahas dalam Praktik Kerja Lapangan (PKL) ini adalah:
4
Bagaimana membangun prototype aplikasi portal berita Kementerian Pertanian
RI berbasis android sehingga memudahkan masyarakat dalam mengakses
informasi?
1.3. Batasan Masalah
Dalam Praktik Kerja Lapangan (PKL) ini penulis membatasi
permasalahan dengan batasan sebagai berikut:
Aplikasi yang dibangun hanya menampilkan berita sesuai dengan database
berita pada website Kementerian Pertanian RI.
Database yang digunakan aplikasi terdapat dalam localhost dan
menggunakan web server XAMPP.
Aplikasi yang dibangun berbasis android dan belum dapat diakses secara
online (masih berjalan di emulator android).
Aplikasi dibangun menggunakan bahasa pemrograman Java dengan tools
Eclipse.
Metodologi pengembangan sistem menggunakan model Prototyping.
1.4. Tujuan
Tujuan dari Praktik Kerja Lapangan (PKL) dan penulisan laporan PKL
adalah sebagai berikut:
1.4.1. Tujuan Umum PKL
Memenuhi salah satu syarat untuk menyelesaikan studi strata
satu Program Studi Teknik Informatika, Fakultas Sains dan
5
Teknologi, Universitas Islam Negeri Syarif Hidayatullah
Jakarta.
Mendapatkan pengalaman bekerja secara langsung di instansi
atau perusahaan resmi.
Menerapkan ilmu akademisi yang telah didapat selama masa
perkuliahan dalam dunia kerja.
1.4.2. Tujuan Khusus PKL
Memudahkan masyarakat dalam mendapatkan berita berita
terkait pertanian dari website Kementerian Pertanian Republik
Indonesia.
1.4.3. Tujuan Penulisan Laporan PKL
Membuat dokumentasi dari hasil Praktik Kerja Lapangan (PKL)
dan sebagai bukti telah melaksanakan PKL.
1.5. Manfaat
Manfaat yang diharapkan penulis dari pelaksanaan dan penulisan
laporan kegiatan Praktik Kerja Lapangan (PKL) adalah sebagai berikut:
1.5.1. Bagi Mahasiswa
Dapat menerapkan ilmu ilmu yang telah didapat selama masa
perkuliahan.
Mempersiapkan mahasiswa untuk memasuki dunia kerja dan
melatih profesionalisme dalam lingkungan kerja.
Memperluas relasi kerja dengan instansi yang terkait.
6
1.5.2. Bagi Instansi atau Perusahaan
Mendapatkan akses langsung informasi Sumber Daya Manusia
(mahasiswa) yang siap memasuki dunia kerja dan kompeten.
Mendapatkan solusi atas suatu masalah tertentu sesuai dengan
kemampuan mahasiswa.
1.5.3. Bagi Universitas
Mengetahui kemampuan mahasiswa dalam menguasai ilmu
yang telah didapatkan selama masa perkuliahan.
Membangun hubungan kemitraan dengan instansi atau
perusahaan terkait.
1.6. Waktu dan Tempat
Pelaksanaan Praktik Kerja Lapangan (PKL) telah dilaksanakan pada:
Instansi : Kementerian Pertanian Republik Indonesia
Alamat : Jalan Harsono RM No. 3, Jakarta Selatan 12550
Telepon : (+62 21) 7822638, 7816384
Waktu PKL : 1 November 2014 s.d. 4 Januari 2015
Materi : Membuat aplikasi atau program dasar yaitu
membangun aplikasi pengembangan software
sesuai kebutuhan tempat PKL dengan
mengembangkan aplikasi portal berita berbasis
Android pada Kementerian Pertanian RI.
7
1.7. Peserta
Peserta Praktik Kerja Lapangan (PKL) di Kementerian Pertanian RI
pada Sub Bidang Aplikasi Multimedia Pusat Data dan Sistem Informasi
Pertanian adalah :
1.8. Sistematika Penulisan
Sistematika Penulisan laporan PKL sebagai berikut:
BAB I PENDAHULUAN
Nama NIM Tugas
Nimas Ayu Mailani
(Penulis)
1111091000053 Rancang Bangun Prototype
Aplikasi Portal Berita pada
Kementerian Pertanian RI
Berbasis Android
Faza Faridah 1111091000082 Rancang Bangun Aplikasi
Forum Konsultasi
Kementerian Pertanian RI
Menggunakan PHP dan
Framework Bootstrap
8
Pada bab ini diuraikan latar belakang dan permasalahan institusi
perusahaan, rumusan masalah, batasan masalah, tujuan, manfaat, waktu dan
tempat pelaksanaan PKL, peserta, dan sistematika penulisan.
BAB II LANDASAN TEORI DAN GAMBARAN UMUM
Pada bab ini diuraikan studi pustaka yang menunjang, sistem yang
digunakan, serta gambaran umum Kementerian Pertanian Republik Indonesia.
BAB III PELAKSANAAN PRAKTIK KERJA LAPANGAN
Pada bab ini diuraikan hasil pelaksanaan PKL, yaitu analisa,
rancangan, implementasi aplikasi berdasarkan metode penelitian dan
pengembangan sistem yang digunakan, serta pengujian sistem aplikasi.
BAB IV PENUTUP
Pada bab ini diuraikan mengenai kesimpulan dari hasil yang didapat
dari pelaksanaan PKL serta saran yang dapat digunakan untuk sistem aplikasi
selanjutnya.
9
BAB II
LANDASAN TEORI DAN GAMBARAN UMUM
2.1. Landasan Teori
2.1.1. Rancang Bangun
Rancang Bangun adalah tahap dari setelah analisis dari
siklus pengembangan sistem yang merupakan pendefinisian dari
kebutuhan - kebutuhan fungsional, serta menggambarkan bagaimana
suatu sistem dibentuk yang dapat berupa penggambaran, perencanaan
dan pembuatan sketsa atau pengaturan dari beberapa elemen yang
terpisah ke dalam satu kesatuan yang utuh dan berfungsi, termasuk
menyangkut mengkonfigurasikan dari komponen komponen
perangkat keras dan perangkat lunak dari suatu sistem (Jogiyanto,
2005).
2.1.2. Aplikasi
Arti aplikasi menurut Simarmata (Solihin, 2014) adalah
program komputer yang dibuat untuk menolong manusia dalam
melaksanakan tugas tertentu. Definisi lain dari aplikasi yaitu software
yang berfungsi untuk melaukan berbagai bentuk pekerjaan atau tugas
tugas tertentu seperti penerapan, penggunaan dan penambahan data
(Supriyanto, 2013).
2.1.3. Portal Berita
10
Prof. Mitchel V. Charnley menyatakan bahwa berita adalah
laporan tercepat mengenai fakta atau opini yang mengandung hal yang
menarik minat atau penting, atau kedua duanya, bagi sejumlah besar
penduduk (Jamanti, 2014). Sehingga Jamanti mendefinisikan berita
adalah laporan tercepat mengenai fakta dan opini yang mengandung
nilai berita dan yang sudah disajikan melalui media massa periodic
untuk sejumlah besar masyarakat (Jamanti, 2014).
Menurut Pavlik (Gumilang, 2010), News Portal (Portal
Berita) adalah salah satu bentuk Konvergensi New Media ; yang terdiri
atas faktor, karakteristik, dan dampak dari New Media itu sendiri.
Faktor faktor konvergensi media yaitu adanya penggabungan proses
proses komputer, telekomunikasi, dan media dalam lingkungan
digital.
2.1.4. Android
Android sebuah Operating System (OS) atau Sistem Operasi
berbasis Linux yang diciptakan untuk telepon seluler (Kusumaningati,
2012). Menurut Kurniawan (2014: 17) Android merupakan sebuah
platform pertama yang betul betul terbuka dan komprehensif untuk
perangkat mobile, semua perangkat lunak yang ada difungsikan
sebagai menjalankan sebuah device mobile tanpa memikirkan kendala
kepemilikan yang menghambat inovasi pada teknologi mobile.
11
Android merupakan subset perangkat lunak untuk perangkat
mobile yang meliputi sistem operasi, middleware dan aplikasi inti
yang dirilis oleh Google. Sedangkan android SDK (Software
Development Kit) menyediakan Tools dan API yang diperlukan untuk
mengembangkan aplikasi pada platform android dengan
menggunakan bahasa pemrograman Java.
2.1.5. Model Prototyping
Definisi prototyping menurut Howard yang dikutip oleh
(Aunur R. Mulyanto, 2008), prototyping adalah salah satu pendekatan
dalam rekayasa perangkat lunak yang secara langsung
mendemonstrasikan bagaimana sebuah perangkat lunak atau
komponen komponen perangkat lunak akan bekerja dalam
lingkungannya sebelum tahapan konstruksi aktual dilakukan.
Faktor kritis untuk kesuksesan pendekatan prototipe adalah
perubahan cepat di dalam perancangan dan pembangunan prototipe
(Simarmata, 2010). Pendekatan prototipe sangat sesuai untuk proyek
kecil atau pada tingkat subsistem.
Terdapat dua pendekatan pengembangan perangkat
keras/lunak dalam model prototipe:
Rapid Throwaway Prototyping
Pendekatan pengembangan perangkat keras/lunak ini
dipopulerkan oleh Goman dan Scoot (1981) yang saat ini telah
12
digunakan secara luas oleh industri, terutama di dalam
pengembangan aplikasi. Pada pendekatan ini, prototipe quick
and dirty dibangun, diverifikasi oleh konsumen, dan dibuang
hingga prototipe yang diinginkan tercapai pada saat proyek
berskala besar dimulai.
Prototipe Evolusioner
Menurut Hough (Simarmata, 2010) prototipe dibangun
berdasarkan pada kebutuhan dan pemahaman secara umum.
Prototipe kemudian diubah dan dievolusikan daripada dibuang.
Prototipe yang dibuang digunakan dengan aspek sistem yang
dimengerti secara luas dan dibangun atas kekuatan tim
pengembang, kadang kadang diacu sebagai chunking pada
pengembangan aplikasi.
Harris (Aunur R. Mulyanto, 2008) membagi prototyping
dalam enam tahapan seperti pada gambar 2.1.
13
Gambar 2.1. Tahapan prototyping model (Harris, 2003)
(Sumber : Aunur R. Mulyanto)
Tahap tahapan secara ringkas dijelaskan sebagai berikut
(Aunur R. Mulyanto, 2008):
Identifikasi kandidat prototyping. Kandidat dalam kasus ini
meliputi user interface (menu, dialog, input dan output), file file
transaksi utama, dan fungsi fungsi pemrosesan sederhana.
Rancang bangun prototype dengan bantuan software seperti word
processor, spreadsheet, database, pengolah grafik, dan software
CASE (Computer-Aided System Engineering).
Uji prototype untuk memastikan prototype dapat dengan mudah
dijalankan untuk tujuan demonstrasi.
14
Siapkan prototype USD (Users System Diagram) untuk
mengidentifikasi bagian bagian dari perangkat lunak yang di-
prototype-kan.
Evaluasi dengan pengguna untuk mengevaluasi prototype dan
melakukan perubahan jika diperlukan.
Transformasikan prototype menjadi perangkat lunak yang
beroperasi penuh dengan melakukan penghilangan kode kode
yang tidak dibutuhkan, penambah program program yang
memang dibutuhkan dan perbaikan dan pengujian perangkat
lunak secara berulang.
2.1.6. UML (Unified Modelling Language)
Menurut Fowler (Aunur R. Mulyanto 2008:24) UML adalah
bahasa pemodelan standar atau kumpulan teknik teknik pemodelan
untuk menspesifikasi, mem-visualisasi, meng-konstruksi dan
mendokumentasi hasil kerja dalam pengembangan perangkat lunak.
Mulyanto (2008:24) menerangkan bahwa UML lahir dari
penggabungan banyak bahasa pemodelan grafis berorientasi obyek
yang berkembang pesat pada akhir tahun 1980an dan awal 1990an.
UML mendefinisikan notasi dan semantik. Notasi merupakan
sekumpulan bentuk khusus yang memiliki makna tertentu untuk
menggambarkan berbagai diagram piranti lunak dan semantik
mendefinisikan bagaimana bentuk bentuk tersebut dapat
15
dikombinasikan. Ada beberapa jenis diagram yang disediakan dalam
UML, antara lain adalah (Aunur R. Mulyanto, 2008):
Use case diagram. Diagram ini berguna untuk
menggambarkan interaksi antara pengguna dengan
sebuah perangkat lunak.
Activity diagram. Diagram ini berguna untuk
menggambarkan prosedur prosedur perilaku perangkat
lunak.
Class diagram. Diagram ini berguna untuk
menggambarkan class, fitur, dan hubungan hubungan
yang terjadi. Pada diagram ini pendekatan berorientasi
obyek memegang peranan yang sangat penting.
Sequence diagram. Diagram ini berguna untuk
menggambarkan interaksi antar obyek dengan penekanan
pada urutan proses atau kejadian.
State machine diagram. Diagram ini digunakan untuk
menggambarkan bagaimana suatu kejadian mengubah
obyek selama masa hidup obyek tersebut.
Component system. Diagram ini berguna untuk
menggambarkan struktur dan koneksi komponen.
2.1.7. Java
Sejarah Java berawal pada tahun 1991 ketika perusahaan Sun
Microsystem memulai Green Project, yakni projek penelitian untuk
16
membuat bahasa yang akan digunakan pada chip chip embedded
untuk device intelligent consumer electronic. Setelah berjalan
beberapa lama, James Gosling, salah seorang anggota team, merasa
kurang puas dengan beberapa karakteristik dari kedua bahasa tersebut
(C dan C++) berusaha mengembangkan bahasa lain. Bahasa tersebut
kemudian dinamakan Oak, diinspirasi ketia dia melihat pohon di
seberang kaca ruang kantornya. Belakangan Oak beralih nama
menjadi Java (Benny Hermawan, 2004).
Menurut Purnomo (2006: 1) Java dikenal sebagai
pemrograman tingkat tinggi yang berorientasi objek, atau lazim
disebut dengan istilah Object Oriented Programming (OOP).
Gambar 2.2. Struktur penulisan aplikasi Java
(Sumber: Adi Purnomo)
17
Pemrograman Java memiliki karakteristik seperti (Wahana
Komputer, 2010):
Sederhana (simple)
Pemrograman Java jika dibandingkan dengan pendahulunya
seperti bahasa C++ relatif lebih sederhana.
Berorientasi Objek (Object Oriented)
Pemrograman Java menggunakan pendekatan berorientasi
objek. Pemrograman berorientasi objek adalah perancangan
atau metodologi perancangan program berdasarkan objek.
Metode ini menggantikan metode prosedural yang telah lama
digunakan, sehingga memiliki kelebihan seperti fleksibel,
modular, recovery program melalui enkapsulasi data,
inheritance, dan polymorphism.
Terdistribusi (Distributed)
Metode komputerisasi dengan menggunakan beberapa
komputer yang dihubungkan dengan jaringan untuk mengelola
tugas tertentu.
Interpretasi (Interpreted)
Memberikan kemudahan bagi pengembang dalam
menerjemahkan kode bytecode ke dalam bahasa mesin dari
komputer yang bersangkutan.
Dapat diandalkan (Robust)
18
Pemrograman Java dapat mengantisipasi berbagai macam
gangguan (bug) dan kesalahan umum lainnya yang sering
ditemukan pada bahasa pemrograman lainnya.
Aman (Secure)
Pengembang aplikasi tidak perlu khawatir mengenai
kerusakan yang mungkin terjadi, hal ini dikarenakan Java
tidak menyediakan akses secara bebas ke sistem Anda secara
langsung.
Tidak bergantung (Architecture-Neutral)
Program yang dihasilkan oleh Java tidak tergantung kepada
arsitektur komputer tertentu.
Netral (Portable)
Pemrogaraman Java bersifat netral terhadap arsitektur
komputer dan sistem operasi sehingga dapat dioperasikan pada
mesin lainnya tanpa melakukan kompilasi ulang.
2.1.8. PHP
PHP merupakan script untuk pemrograman script web
server-side, script yang membuat dokumen HTML secara on the fly,
dokumen HTML yang dihasilkan dari suatu aplikasi bukan dokumen
HTML yang dibuat dengan menggunakan editor teks atau editor
HTML.
19
Dengan menggunakan PHP maka maintenance suatu situs
web menjadi lebih mudah. Proses update data dapat dilakukan dengan
menggunakan aplikasi yang dibuat dengan menggunakan script PHP.
PHP secara resmi merupakan kependekan dari PHP:
HyperTextProcessor, merupakan bahasa script server-side yang
disisipkan pada HTML (Sidik, 2014).
2.1.9. Database MySQL
MySQL merupakan software database yang termasuk paling
populer di lingkungan Linux, kepopuleran ini karena ditunjang karena
performansi query dari databasenya yang saat itu bisa dikatakan
paling cepat, dan jarang bermasalah.
Berangkat dari software yang shareware MySQL populer,
kini mulai versi 3.23 MySQL menjadi software open source yang
berarti free. MySQL dapat digunakan untuk kepentingan komersial
atau pun personal (non profit).
MySQL telah tersedia juga di lingkungan Windows, software
MySQL di lingkungan Windows dipasang pada direktori c:\mysql.
C:\mysql\bin adalah direktori yang berisi daftar modul executable dari
software MySQL.
PHP untuk Windows secara default telah mendukung
MySQL (Sidik, 2014).
20
2.2. Sejarah Instansi Kementerian Pertanian RI
Kementerian Pertanian Republik Indonesia (RI) yang dahulu disebut
sebagai Departemen Pertanian, didirikan pada tanggal 1 Januari 1905
berdasarkan Surat Keputusan Gubernur Jenderal Hindia Belanda tanggal 23
September 1904 No.20 Staatsblaad 982 yang didasarkan pada Surat Keputusan
Raja Belanda No.28 tanggal 28 Juli 1904 (Staatsblaad No.380) (Wikipedia,
n.d.).
Pada masa penjajahan Belanda, urusan pertanian ditangani oleh
Departement van Landouw (1905). Departement van Landouw, Nijverheid en
hendel (1911) dan Departement van Ekonomische Zaken (1934). Sedangkan
pada masa pendudukan Jepang, Gunsekanbu Sangyobu yang berperan dalam
menangani urusan pertanian. Setelah proklamasi kemerdekaan terbentuknya
kabinet kabinet yaitu (SEJARAH KEMENTERIAN PERTANIAN, n.d.):
Penjajahan Belanda, 1800 1942
Pendudukan Jepang, 1942 1945
Awal Kemerdekaan, 1945 1959
Ekonomi Terpimpin, 1960 1965
Era Transisi, 1966 1968
Pelita I, 1968 1973
Pelita II, 1973 1978
Pelita III, 1978 1983
Pelita IV, 1983 1988
Pelita V, 1988 1993
21
Pelita VI, 1993 1998
Pelita VII, 1988
Pemerintahan Transisi, 1988 1999
Kabinet Persatuan, 1999 2001
Kabinet Gotong Royong, 2001 2004
Kabinet Indonesia Bersatu I, 2001 2004
Kabinet Indonesia Bersatu II, 2009 sekarang
2.3. Visi dan Misi Kementerian Pertanian RI
2.3.1. Visi Kementerian Pertanian RI
Visi Kementerian Pertanian RI adalah:
Terwujudnya pertanian industrial unggul berkelanjutan yang erbasis
sumberdaya lokal untuk meningkatkan kemandirian pangan, nilai
tambah, daya saing, ekspor dan kesejahteraan petani.
2.3.2. Misi Kementerian Pertanian RI
Misi Kementerian Pertanian RI adalah:
Mewujudkan sistem pertanian berkelanjutan yang efisien,
berbasis iptek dan sumberdaya lokal, serta berwawasan
lingkungan melalui pendekatan sistem agribisnis.
Menciptakan keseimbangan ekosistem pertanian yang
mendukung keberlanjutan peningkatan produksi dan
produktivitas untuk meningkatkan kemandirian pangan.
22
Mengamankan plasma-nutfah dan meningkatkan
pendayagunaannya untuk mendukung diserfikasi dan ketahanan
pangan.
Menjadikan petani yang kreatif, inovatif, dan mandiri serta
mampu memanfaatkan iptek dan sumberdaya lokal untuk
menghasilkan produk pertanian berdaya saing tinggi.
Meningkatkan produk pangan segar dan olahan yang aman, sehat,
utuh dan halal (ASUH) dikonsumsi.
Meningkatkan produksi dan mutu produk pertanian sebagai
bahan baku industri.
Mewujudkan usaha pertanian yang terintegrasi secara vertikal
dan horisontal guna menumbuhkan usaha ekonomi produktif dan
menciptakan lapangan kerja di pedesaan.
Mengembangkan industri hilir pertanian yang terintegrasi dengan
sumberdaya lokal untuk memnuhi permintaan pasar domestik,
regional dan internasional.
Mendorong terwujudnya sistem kemitraan usaha dan
perdagangan komoditas pertanian yang sehat, jujur dan
berkeadilan.
Meningkatkan kualitas kinerja dan pelayanan aparatur
pemerintah bidang pertanian yang amanah dan profesional.
23
2.4. Struktur Organisasi Kementerian Pertanian RI
Bagan 2.1. Struktur organisasi Kementerian Pertanian RI
(Sumber: www.pertanian.go.id)
24
BAB III
PELAKSANAAN PRAKTIK KERJA LAPANGAN
3.1. Metodologi Penelitian
3.1.1. Metode Pengumpulan Data
Pembuatan aplikasi Portal Berita Berbasis Android
menggunakan beberapa metodologi untuk mendapatkan informasi
yang dibutuhkan sebagai dasar dan acuan dalam identifikasi awal,
perancangan dan pengujian sistem. Metode yang penulis gunakan
yaitu:
Studi Pustaka
Teknik pengumpulan data dengan melakukan studi
terhadap literatur dan laporan laporan yang terkait sistem
aplikasi yang akan dibuat. Selain itu data yang dibutuhkan juga
didapat dari dokumen dokumen perusahaan atau instansi tempat
penulis melaksanakan kegiatan PKL.
Wawancara
Pengambilan data melalui wawancara secara langsung
dengan Pembimbing Lapangan selaku salah satu karyawan di
bidang Pengembangan Sistem Informasi sub bidang Aplikasi
Multimedia. Pertanyaan yang diajukan mengenai sistem aplikasi
yang akan dibuat.
3.1.2. Metode Pengembangan Sistem
25
Penulis menggunakan metode pengembangan sistem dengan
pendekatan prototyping. Metode ini sesuai dengan cakupan proyek
kecil dimana tidak terdapat banyak fitur dalam sistem aplikasi yang
akan dibuat.
Often, a customer defines a set of general objectives for
software but does not identify detailed requirements for functions and
features. In other cases, the developer may be unsure of the efficiency
of an algorithm, the adaptability of an operating system, or the form
that human-machine interaction should take. In these, and many other
situations, a prototyping paradigm may offer the best approach.
Seringkali, kustomer mendefinisikan tujuan perangkat lunak
secara umum tetapi tidak menjelaskan secara rinci fungsi dan fitur
yang dibutuhkan. Dalam kasus lain, pengembang merasa tidak yakin
dengan keefisienan algoritma, kesesuaian dengan sistem operasi, atau
bentuk interaksi manusia dan mesin yang harus diambil. Dalam hal
ini, dan banyak situasi lain, model prototyping mungkin menawarkan
pendekatan yang terbaik (Pressman, 2010).
3.1.3. Alasan Penggunaan Model Prototyping
Model pengembangan sistem memiliki banyak pendekatan
yang dapat digunakan sesuai dengan kebutuhan pengembang dalam
membuat sistem. Penulis menggunakan model prototyping dengan
pertimbangan sebagai berikut:
26
Berdasarkan dokumen yang diberikan oleh instansi terkait,
interaksi yang diperkirakan dapat terjadi sebatas interaksi antara
pengguna aplikasi (pencari informasi mengenai pertanian) dan
sistem aplikasi.
Berdasarkan hasil wawancara yang telah dilakukan, instansi
membutuhkan aplikasi portal berita berbasis android yang dapat
mempermudah pengguna dalam mendapatkan informasi.
Sehingga informasi mengenai pertanian tidak hanya dapat diakses
melalui website. Selain itu, aplikasi ini diharapkan dapat selesai
dalam jangka waktu yang pendek.
Berdasarkan alasan di atas, maka penulis menyimpulkan
bahwa proyek aplikasi yang akan dibuat termasuk dalam proyek kecil
dan dibutuhkan waktu penyelesaian yang cukup singkat. Hal ini
didukung oleh Aunur R. Mulyanto (2008: 21) yang menyatakan tahap
tahap dalam prototyping boleh dikata merupakan tahap tahap yang
dipercepat. Strategi utama dalam prototyping adalah kerjakan yang
mudah terlebih dahulu dan sampaikan hasil kepada pengguna sesegera
mungkin.
27
Pengumpulan Data
Pengembangan
Sistem
3.1.4. Alur Pengembangan Sistem
Bagan 3.1. Alur Pengembangan Sistem
28
3.2. Identifikasi Prototype
3.2.1. System Requirement
Sistem aplikasi yang dibuat untuk instansi Kementerian
Pertanian Bidang Multimedia berbasis pada android mobile yang
menampilkan berita berita dari database. Sehingga dibutuhkan
ketentuan berikut dalam pembuatan aplikasi:
1. Sisi Server
Perangkat Keras:
- Processor Intel(R) Core(TM) i5-3230M CPU @ 2.60GHz
- RAM 4,00 GB
- 64-bit Operating System
Perangkat Lunak
- Windows All Series
- Web Server XAMPP
- Database MySQL
- Browser Support: Chrome, Mozilla Firefox, Internet
Explorer
2. Sisi Client
Perangkat Keras
- AndromaxU Limited Edition
- RAM 1 GB
- Display 4.5 inch, 540 x 960 pixels
29
Perangkat Lunak
- Android versi Jelly Bean
- Browser Support: Chrome, Mozilla Firefox, Internet
Explorer
3.2.2. UML Aplikasi
Berdasarkan hasil wawancara dan studi pustaka yang telah
dilakukan oleh penulis, maka didapat hasil analisa Use Case Diagram
dan Activity Diagram dari aplikasi portal berita yang dapat dilihat
pada diagram UML berikut:
Use Case Diagram
Use case diagram pada pada aplikasi portal berita
merupakan tahapan proses yang dilakukan pengguna jika ingin
mendapatkan berita mengenai pertanian dengan melihat berita
secara lengkap dari salah satu daftar berita yang terdapat pada
beranda. Aktor yang berinteraksi langsung dengan sistem yaitu
pengguna aplikasi (user).
30
Bagan 3.2. Use case diagram sistem aplikasi portal berita
Activity Diagram
Bagan activity diagram menggambarkan alur aktifitas
tahapan prposes pada sistem aplikasi portal berita sesuai dengan
aktor yang terdapat pada bagan use case diagram. Berikut activity
diagram dari sistem aplikasi portal berita:
31
Bagan 3.3. Activity diagram sistem aplikasi portal berita
3.3. Pembuatan Prototype
Pembuatan prototype merupakan tahap dimana pengembang mulai
mengimplementasikan hasil identifikasi prototype ke dalam bahasa
pemrograman yang digunakan. Seperti yang telah disinggung di sub bab
sebelumnya, bahwa aplikasi hanya memiliki satu fungsi dan satu fitur, yaitu
menampilkan berita berita yang diurutkan berdasarkan tanggal terbaru.
Penggunaan model prototyping merupakan metode pengembangan
sistem yang tepat untuk membangun sistem aplikasi yang tergolong
sederhana dengan fungsi dan fitur yang tidak terbilang banyak.
32
Penulis menggunakan Eclipse dengan bahasa pemrograman Java dan
bantuan alat grafis CorelDraw X7 untuk membuat tampilan antar muka
aplikasi. Selain itu XAMPP digunakan sebagai sisi server dan MySQL
sebagai database.
3.4. Pengujian dan Evaluasi Prototype
Penulis melakukan pengujian bersama dengan klien sehingga
keinginan klien tersampaikan pada pengembang. Pada tahap ini, penulis
sebagai pengembang aplikasi portal berita menggunanakan metode unit
testing.
Metode unit testing adalah metode pengujian perangkat lunak yang
menguji bagian terkecil dari source code (method). Metode pengujian ini
bertujuan untuk membuktikan apakah program aplikasi dapat berjalan sesuai
dengan kebutuhan pengguna yang telah dianalisa sebelumnya (Achtar, 2015).
Berikut merupakan scenario diagram dari pengujian aplikasi portal
berita:
33
Tabel 3.1. Unit testing LoadData
ID Method KP-01
Nama Method /
Class
LoadData
Source Code public class LoadData extends AsyncTask {
@Override
public void onPreExecute() {
super.onPreExecute();
arrayList2.clear();
mProgressDialog = new ProgressDialog(Berita.this);
mProgressDialog.setIndeterminate(false);
mProgressDialog.show(); }
protected String doInBackground(String... params) {
try {
result = JSONParser
.getPage("http://10.0.2.2/berita/koneksi.php");
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace(); }
return result;
}
protected void onPostExecute(String result) {
try {
JSONArray arr = new JSONArray(result);
for (int i = 0; i < 1; i++) {
34
JSONObject obj = arr.getJSONObject(0);
judul = obj.getString("title");
System.out.println("LOAD 1 "+judul);
isi = obj.getString("content");
tanggal = obj.getString("date");
gambar = obj.getString("img");
HashMap headline = new HashMap();
headline.put(JUDUL, judul);
headline.put(ISI, isi);
headline.put(TANGGAL, tanggal);
headline.put(GAMBAR, gambar);
arrayList2.add(headline);}
} catch (JSONException e) {
e.printStackTrace(); }
listView = (ListView) findViewById(R.id.listview1);
adapter = new Headline(Berita.this, arrayList2) {
};
listView.setAdapter(adapter);
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView arg0, View arg1,int arg2,
long arg3) {
// TODO Auto-generated method stub
HashMap abc = new HashMap();
abc = arrayList2.get(arg2);
String gmbr = abc.get(Berita.GAMBAR);
35
System.out.println("GAMBAR;" + gmbr);
Intent intent = new Intent(Berita.this,
SingleItemBerita.class);
intent.putExtra("judul", abc.get(Berita.JUDUL));
intent.putExtra("isi", abc.get(Berita.ISI));
intent.putExtra("tanggal", abc.get(Berita.TANGGAL));
intent.putExtra("gambar", abc.get(Berita.GAMBAR));
startActivity(intent); }
});
new LoadData2().execute();
}
}
public class LoadData2 extends AsyncTask {
@Override
public void onPreExecute() {
super.onPreExecute();
arrayList.clear();}
protected String doInBackground(String... params) {
try {
result2 = JSONParser
.getPage("http://10.0.2.2/berita/koneksi.php");
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
36
System.out.println();
return result2; }
protected void onPostExecute(String result2) {
try {
JSONArray arr = new JSONArray(result2);
for (int i = 1; i < arr.length(); i++) {
JSONObject obj = arr.getJSONObject(i);
String judul = obj.getString("title");
System.out.println("LOAD 2"+judul);
String isi = obj.getString("content");
String tanggal = obj.getString("date");
String gambar = obj.getString("img");
HashMap map = new HashMap();
map.put(JUDUL2, judul);
map.put(ISI2, isi);
map.put(TANGGAL2, tanggal);
map.put(GAMBAR2, gambar);
arrayList.add(map); }
} catch (JSONException e) {
e.printStackTrace(); }
listView2 = (ListView) findViewById(R.id.listview);
adapter2 = new ListViewAdapter(Berita.this, arrayList) {};
listView2.setAdapter(adapter2);
mProgressDialog.dismiss();
listView2.setOnItemClickListener(new OnItemClickListener() {
@Override
37
public void onItemClick(AdapterView arg0, View arg1,int arg2,
long arg3) {
// TODO Auto-generated method stub
HashMap abc = new HashMap();
abc = arrayList.get(arg2);
String gmbr = abc.get(Berita.GAMBAR2);
System.out.println("GAMBAR2;" + gmbr);
Intent intent = new Intent(Berita.this, SingleItemBerita.class);
intent.putExtra("judul", abc.get(Berita.JUDUL2));
intent.putExtra("isi", abc.get(Berita.ISI2));
intent.putExtra("tanggal", abc.get(Berita.TANGGAL2));
intent.putExtra("gambar", abc.get(Berita.GAMBAR2));
startActivity(intent);
}
});
}
}
Deskripsi Pada tahapan ini, sistem aplikasi akan menampilkan daftar
berita yang terdapat dalam database.
Tahapan 1. Sebelum sistem menampilkan daftar berita, sistem akan
memeriksa detail berita berupa tanggal, gambar dan judul
berita pada database.
2. Pengguna akan diberikan antarmuka daftar berita yang
ditampilkan menggunakan listview.
38
Hasil yang
diharapkan
Pengguna dapat memilih berita sesuai dengan urutan tanggal
diterbitkannya berita maupun judul dari berita itu sendiri.
Hasil
pengujian
Pada tahap ini, hasil sesuai dengan harapan klien. Yaitu
sistem menampilkan daftar berita yang dapat dipilih
pengguna sesuai urutan tanggal terbitnya berita.
Tabel 3.2. Unit testing onCreate
ID Method KP-02
Nama
Method /
Class
onCreate
Source
Code
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_berita_singleitem_view);
39
imageLoader = new ImageLoader(this);
Intent i = getIntent();
judul = i.getStringExtra("judul");
tanggal = i.getStringExtra("tanggal");
isi = i.getStringExtra("isi");
gambar = i.getStringExtra("gambar");
TextView txtjudul = (TextView) findViewById(R.id.judul);
TextView txttanggal = (TextView) findViewById(R.id.tanggal);
TextView txtisi = (TextView) findViewById(R.id.isi);
ImageView imgberita = (ImageView) findViewById(R.id.gambar);
txtjudul.setText(judul);
txttanggal.setText(tanggal);
txtisi.setText(isi);
imageLoader.DisplayImage(gambar, imgberita);
Toast.makeText(SingleItemBerita.this, "berhasil",
Toast.LENGTH_LONG).show();
}
Deskripsi Pada tahapan ini, sistem aplikasi akan menampilkan detail berita.
Tahapan 1. Sebelum sistem menampilkan detail berita, sistem akan
memeriksa berita pada database.
2. Sistem akan mengambil data berupa gambar, tanggal/waktu
berita dan detail berita yang telah dipilih pengguna.
3. Pengguna akan diberikan antarmuka berita.
40
Hasil yang
diharapkan
Pengguna dapat melihat atau membaca detail berita yang telah
dipilih pada tampilan antarmuka listview berita.
Hasil
pengujian
Pada tahap ini, hasil sesuai dengan harapan klien. Yaitu sistem
menampilkan berita yang telah dipilih pengguna sesuai urutan
tanggal terbitnya berita maupun judul berita.
3.5. Perubahan Prototype
Perubahan prototype merupakan langkah yang harus diambil jika pada
tahap pengujian dan evaluasi prototype masih terdapat bugs atau tidak sesuai
dengan keinginan klien.
Dalam proses pembuatan aplikasi ini, penulis melakukan perubahan
prototype sebanyak dua kali hingga sistem aplikasi sesuai dengan keinginan
klien.
41
3.6. Transformasi Prototype Skala Besar
Tahap terakhir ini dapat dilakukan oleh penulis jika prototype telah
sesuai dengan keinginan klien. Sehingga penulis dapat memperbaiki tampilan
antarmuka yang disesuaikan dengan skala aplikasi yang akan dibuat.
Pengembang tidak lagi berkutat dengan prototype, tetapi dituntut untuk
menyelesaikan aplikasi sesuai dengan waktu yang telah disepakati antara
klien dan pengembang. Sehingga aplikasi dapat digunakan oleh pengguna.
42
BAB IV
PENUTUP
4.1. Kesimpulan
Hasil akhir rancang bangun prototype aplikasi berita pada
Kementerian Pertanian Republik Indonesia berbasis android, dapat
disimpulkan sebagai berikut:
Perancangan dan pembangunan prototype aplikasi portal berita pada
instansi pemerintah (Kementerian Pertanian Republik Indonesia)
menggunakan metode prototyping dengan tahap pembuatan identifikasi
prototype, pembuatan prototype, pengujian dan evaluasi prototype,
perubahan prototype, transformasi prototype skala besar.
Pembuatan prototype aplikasi portal berita Kementerian Pertanian
Republik Indonesia terintegrasi dengan database yang masih terdapat
dalam localhost.
4.2. Saran
Dalam pembuatan prototype aplikasi berita pada Kementerian
Pertanian Republik Indonesia berbasis android, penulis menyadari masih
terdapat beberapa kekurangan yang dapat diperbaiki untuk penelitian dan
pengembangan selanjutnya. Kekurangan tersebut antara lain:
Aplikasi berita pada Kementerian Pertanian Republik Indonesia berbasis
android masih belum dapat terintegrasi secara langsung dengan website
43
berita Kementerian Pertanian Republik Indonesia, sehingga diharapkan
untuk pengembangan selanjutnya aplikasi dapat terintegrasi oleh website
Kementerian Pertanian Republik Indonesia.
Aplikasi berita pada Kementerian Pertanian Republik Indonesia hanya
dapat berjalan pada platform android, sehingga diharapkan pada
pengembangan selanjutnya dapat berjalan pada berbagai platform.
44
DAFTAR PUSTAKA
Achtar, S. A. (2015). Rancang Bangun Aplikasi Toko Online Berbasis Platform Android
Pada Studi Kasus CV.Raka Kencana. Jakarta.
Aunur R. Mulyanto. (2008). 56 Rekayasa Perangkat Lunak Jilid 1 (1st ed.). Jakarta:
Direktorat Pembinaan Sekolah Menengah Kejuruan, Departemen Pendidikan
Nasional.
Benny Hermawan. (2004). Menguasai Java 2 dan Object Oriented Programming (1st
ed.). Yogyakarta: Andi Offset.
Gumilang, L. F. G. (2010). PROSES KERJA REPORTER BERITA DETIKHOT
SUBKANAL MUSIC DI DETIK.COM JAKARTA.
IFT Online. (2013). Yahoo! Smartphone Jadi Media Massa Generasi Baru. Retrieved
April 12, 2015, from http://www.ift.co.id/posts/yahoo-smartphone-jadi-media-
massa-generasi-baru
Jamanti, R. (2014). Pengaruh Berita Banjir di Koran Kaltim Terhadap Kesadaran
Lingkungan Masyarakat Kelurahan Temindung Permai Samarinda. eJournal Ilmu
Komunikasi, 2.
Jogiyanto. (2005). Analisis dan Desain. Yogyakarta: Andi.
Kompasiana Tekno. (2014). Jangan-jangan Smartphone Kita Masih Stupid? Retrieved
April 12, 2014, from http://teknologi.kompasiana.com/gadget/2014/10/08/jangan-
jangan-smartphone-kita-masih-stupid-678989.html
Kusumaningati, I. F. (2012). Ngandroid: Hidup Menjadi Mudah dan Menyenangkan
dengan Android. Jakarta: Gramedia.
Pressman, R. S. (2010). Software Engineering: A Practitioners Approach (7th ed.). New York: McGraw-Hill.
SEJARAH KEMENTERIAN PERTANIAN. (n.d.). Retrieved April 15, 2015, from
http://www.pertanian.go.id/ap_pages/detil/7/2014/06/10/22/28/56/SEJARAH-
KEMENTAN
Sidik, B. (2014). Pemrograman Web Dengan PHP. Bandung: Informatika Bandung.
Simarmata, J. (2010). Rekayasa Perangkat Lunak. (N. WK, Ed.). Yogyakarta: C.V. Andi.
Solihin, M. (2014). Rancang Bangun Aplikasi Pengelolaan Informasi Pembinaan Anak
Jalanan (Studi Kasus: Yayasan KPIM Jakarta).
45
Supriyanto, A. (2013). Pembuatan Aplikasi Notulen Rapat pada Smartphone Berbasis
Android.
Wahana Komputer. (2010). MySQL Database Server. Jakarta: Media Kita.
Wikipedia. (n.d.). Kementerian Pertanian Republik Indonesia. Retrieved April 15, 2015,
from http://id.wikipedia.org/wiki/Kementerian_Pertanian_Republik_Indonesia
46
LAMPIRAN
Lampiran 1. Daftar Directory Project Eclipse
47
Lampiran 2. Source Code Json PHP
48
Lampiran 3. Source Code Berita
package pkl.deptan.portalberitadeptan01;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.HashMap;
import org.apache.http.client.ClientProtocolException;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.R.string;
import android.app.Activity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.TextView;
public class Berita extends Activity {
JSONObject jsonObject;
JSONArray jsonArray;
ListView listView, listView2;
ListViewAdapter adapter2;
Headline adapter;
ProgressDialog mProgressDialog;
public static String JUDUL = "judul";
public static String ISI = "isi";
public static String TANGGAL = "tanggal";
public static String GAMBAR = "gambar";
public static String JUDUL2 = "judul";
public static String ISI2 = "isi";
public static String TANGGAL2 = "tanggal";
public static String GAMBAR2 = "gambar";
49
String result, result2;
public static ArrayList arrayList =
new ArrayList();
public static ArrayList arrayList2
= new ArrayList();
String hari;
String judul;
String isi;
String tanggal;
String gambar;
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.menu_berita);
Calendar cal = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd MMMM
yyyy");
String strdate = sdf.format(cal.getTime());
TextView txtdate = (TextView)
findViewById(R.id.tanggal);
txtdate.setText(strdate);
new LoadData().execute();
}
50
public class LoadData extends AsyncTask {
@Override
public void onPreExecute() {
super.onPreExecute();
arrayList2.clear();
mProgressDialog = new
ProgressDialog(Berita.this);
// mProgressDialog.setMessage("Loading...");
mProgressDialog.setIndeterminate(false);
mProgressDialog.show();
}
protected String doInBackground(String... params) {
try {
result = JSONParser
.getPage("http://10.0.2.2/berita/koneksi.php");
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
51
protected void onPostExecute(String result) {
try {
JSONArray arr = new JSONArray(result);
for (int i = 0; i < 1; i++) {
JSONObject obj =
arr.getJSONObject(0);
judul = obj.getString("title");
System.out.println("LOAD 1 " +
judul);
isi = obj.getString("content");
tanggal = obj.getString("date");
gambar = obj.getString("img");
HashMap headline =
new HashMap();
headline.put(JUDUL, judul);
headline.put(ISI, isi);
headline.put(TANGGAL, tanggal);
headline.put(GAMBAR, gambar);
arrayList2.add(headline);
}
} catch (JSONException e) {
e.printStackTrace();
}
52
listView = (ListView) findViewById(R.id.listview1);
adapter = new Headline(Berita.this, arrayList2) {
};
listView.setAdapter(adapter);
listView.setOnItemClickListener(new
OnItemClickListener() {
@Override
public void onItemClick(AdapterView arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
HashMap abc = new HashMap();
abc = arrayList2.get(arg2);
String gmbr = abc.get(Berita.GAMBAR);
System.out.println("GAMBAR;" + gmbr);
Intent intent = new Intent(Berita.this,
SingleItemBerita.class);
intent.putExtra("judul", abc.get(Berita.JUDUL));
intent.putExtra("isi", abc.get(Berita.ISI));
intent.putExtra("tanggal", abc.get(Berita.TANGGAL));
intent.putExtra("gambar", abc.get(Berita.GAMBAR));
startActivity(intent);
}
});
new LoadData2().execute();
}
}
53
public class LoadData2 extends AsyncTask {
@Override
public void onPreExecute() {
super.onPreExecute();
arrayList.clear();
}
protected String doInBackground(String... params) {
try {
result2 = JSONParser
.getPage("http://10.0.2.2/berita/koneksi.php");
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println();
return result2;
}
protected void onPostExecute(String result2) {
try {
JSONArray arr = new JSONArray(result2);
for (int i = 1; i < arr.length(); i++) {
JSONObject obj = arr.getJSONObject(i);
String judul = obj.getString("title");
System.out.println("LOAD 2" + judul);
String isi = obj.getString("content");
String tanggal = obj.getString("date");
String gambar = obj.getString("img");
54
HashMap map = new HashMap();
map.put(JUDUL2, judul);
map.put(ISI2, isi);
map.put(TANGGAL2, tanggal);
map.put(GAMBAR2, gambar);
arrayList.add(map); }
} catch (JSONException e) {
e.printStackTrace();
}
listView2 = (ListView) findViewById(R.id.listview);
adapter2 = new ListViewAdapter(Berita.this, arrayList) {};
listView2.setAdapter(adapter2);
mProgressDialog.dismiss();
listView2.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
HashMap abc = new HashMap();
abc = arrayList.get(arg2);
String gmbr = abc.get(Berita.GAMBAR2);
System.out.println("GAMBAR2;" + gmbr);
Intent intent = new Intent(Berita.this,SingleItemBerita.class);
intent.putExtra("judul", abc.get(Berita.JUDUL2));
intent.putExtra("isi", abc.get(Berita.ISI2));
intent.putExtra("tanggal", abc.get(Berita.TANGGAL2));
intent.putExtra("gambar", abc.get(Berita.GAMBAR2));
startActivity(intent); } });
} }}
55
56
57
58
59
60
61
62