APLIKASI PORTAL MAJALAH CYBER MEDIA BERBASIS ...eprints.unisbank.ac.id/id/eprint/2196/1/APLIKASI...
Transcript of APLIKASI PORTAL MAJALAH CYBER MEDIA BERBASIS ...eprints.unisbank.ac.id/id/eprint/2196/1/APLIKASI...
i
APLIKASI PORTAL MAJALAH CYBER MEDIA BERBASIS ANDROID
( STUDI KASUS MAJALAH CYBER MEDIA INTERNET CLUB UNISBANK
SEMARANG )
Tugas Akhir disusun untuk memenuhi syarat
mencapai gelar Kesarjanaan Komputer pada
Program Studi Teknik Informatika
Jenjang Program Strata 1
oleh :
BUDI SANTOSO
10.01.53.0043
12092
FAKULTAS TEKNOLOGI INFORMASI
UNIVERSITAS STIKUBANK (UNISBANK)
SEMARANG
2014
ii
iii
iv
MOTTO
Lakukanlah semua kegiatan dengan ikhlas
Berbagilah ilmu walau hanya sedikit.
Jangan bertanya apa yang akan kamu dapat, tapi tanyakan apa yang
akan kamu berikan.
Selalu berfikir positif dan yakin pasti bisa.
PERSEMBAHAN
Allah SWT yang telah memberikan sesuatu yang terbaik buat kami.
Ayah, Ibu yang telah memberikan doa dan semangat dalam hidup ini,
karena beliaulah saya bisa menjadi S.Kom.
Kakak saya edi, misini yang selalu memotivasi saya untuk
menyelesaikan Tugas Akhir ini.
Teman - teman di Internet Club Universitas Stikubank (UNISBANK)
Semarang yang telah jadi keluarga kedua.
Semua team majalah Cyber Media yang telah membuat majalah
dengan luar biasa.
Teman – teman seangkatan (pipit, teti, faisal, agung, oriza, saepul, ida,
haril, ziah, rini) yang juga telah memotifasi saya dalam penyusunan
tugas akhir ini.
Teman – teman seperjuangan (erlangga, tama, wisnu, dicky, winas).
Dan pihak lainnya yang tidak dapat disebutkan satu persatu.
v
vi
KATA PENGANTAR
Alhamdulillahirabbil’aalamiin. Puji syukur Penulis pajatkan kehadirat Allah SWT,
dengan ridha dan petunjuk-Nya lah Penulis dapat menyelesaikan Skripsi dengan judul
“APLIKASI PORTAL MAJALAH CYBER MEDIA BERBASIS ANDROID (
STUDI KASUS MAJALAH CYBER MEDIA INTERNET CLUB UNISBANK
SEMARANG )” ini. Penulisan tugas akhir ini bertujuan untuk memenuhi salah satu
syarat untuk menempuh jenjang strata satu pada Universitas Stikubank
“UNISBANK” Semarang.
Dalam kesempatan ini Penulis ingin mengucapkan terima kasih kepada pihak
- pihak yang telah memberikan bantuan dan bimbingan dalam menyelesaikan Skripsi
ini.
Dalam hal ini kepada:
1. Allah SWT
2. Bapak Dr. H. Hasan Abdul Rozak, S.H., C.N. selaku Rektor Universitas
Stikubank Semarang.
3. Bapak Mardi Siswo Utomo, S.Kom, M.Cs selaku dosen pembimbing.
4. Bapak Jati Sasongko Wibowo, S.Kom., M.Cs selaku kepala Progdi Teknik
Informatika Unisbank Semarang.
5. Ayah, Ibunda dan saudara-saudara tercinta yang tak pernah berhenti akan
doanya sehingga penulis dapat menyelesaikan Tugas Akhir ini dengan baik.
6. Semua teman-teman terkasih dan tersayang yang telah mendukung dalam
penyusunan Tugas Akhir ini.
vii
Tiada materi dan benda yang penulis haturkan kecuali doa kepada Allah SWT
yang penulis Agungkan, semoga pihak yang telah membantu kelancaran penulis
dalam penyusunana tugas akhir ini mendapatkan imbalan pahala yang setimpal
dengan amalanya, dan tidak lupa penulis ucapkan terima kasih.
Akhirnya semoga tugas akhir ini dapat bermanfaat bagi pembaca pada umumnya
dan almamater pada khususnya.
Semarang, Agustus 2014
Penulis
Budi Santoso
viii
DAFTAR ISI
HALAMAN JUDUL ......................................................................................... i
HALAMAN PERSETUJUAN ......................................................................... ii
HALAMAN PENGESAHAN .......................................................................... iii
HALAMAN MOTTO DAN PERSEMBAHAN ............................................. iv
ABSTRAKSI ..................................................................................................... v
KATA PENGANTAR ...................................................................................... vi
DAFTAR ISI ..................................................................................................... viii
DAFTAR GAMBAR ........................................................................................ xii
DAFTAR TABEL ............................................................................................. xiv
DAFTAR LAMPIRAN ..................................................................................... xv
BAB I PENDAHULUAN ................................................................................. 1
1.1. Latar Belakang ................................................................................ 1
1.2. Perumusan dan Pembatasan Masalah .............................................. 2
1.3. Tujuan dan Manfaat Penelitian ........................................................ 3
1.4. Metodologi Penelitian ...................................................................... 4
1.4.1. Obyek Penelitian ................................................................... 4
1.4.2. Jenis Data .............................................................................. 4
1.4.3. Metode Pengumpulan Data ................................................... 5
1.5. Metode Pengembangan Aplikasi Mobile ......................................... 5
1.6. Sistematika Penulisan 7
BAB II TINJAUAN PUSTAKA ...................................................................... 9
2.1. Pustaka yang Terkait Dengan Penelitian ......................................... 9
2.2. Perbedaan Antara Penelitian Terdahulu dengan Penelitian
Sekarang .......................................................................................... 11
BAB III LANDASAN TEORI ......................................................................... 13
ix
3.1. Konsep Dasar Aplikasi .................................................................... 13
3.2. Flowchart ......................................................................................... 15
3.2.1 Pengertian Flowchart ............................................................. 15
3.2.3. Simbol-simbol Flowchart ...................................................... 15
3.3. UML ................................................................................................ 18
3.3.1. Pengertian UML .................................................................... 18
3.3.2. Bagian-bagian UML .............................................................. 18
3.3.3. Tujuan Penggunaan UML ..................................................... 23
3.3.4. Notasi dalam UML ................................................................ 24
3.3.5. Use Case Diagram ................................................................. 26
3.3.6. Activity Diagram ................................................................... 28
3.3.7. Diagram Sekuen .................................................................... 29
3.4. Android ............................................................................................ 30
3.4.1. Pengertian Android ............................................................... 30
3.4.2. Fitur Sistem Operasi Android ............................................... 32
3.4.3. Sistem Arsitektur Operasi Android ...................................... 35
3.4.4. Versi Android ........................................................................ 40
3.5. XML ................................................................................................ 44
3.5.1. Pengertian RSS ...................................................................... 44
3.5.2. Kelebihan dan Kekurangan XML ......................................... 46
3.6. RSS .................................................................................................. 47
3.6.1. Pengertian RSS ...................................................................... 47
3.6.2. Sejarah Singkat RSS ............................................................. 49
3.6.3. Struktur File RSS .................................................................. 50
3.7. Eclipse .............................................................................................. 50
3.7.1. Sejarah Eclipse ...................................................................... 50
3.7.2. Arsitektur Eclipse .................................................................. 52
3.7.3. Konsep Eclipse ...................................................................... 53
x
3.7.4. Histori (Versi) Eclipse ........................................................... 54
3.7.5. Android Virtual Devices (AVD) ........................................... 55
3.7.6. Emulator ................................................................................ 57
BAB IV ANALISA DAN PERANCANGAN SISTEM ................................. 58
4.1. Analisa Kebutuhan ........................................................................... 58
4.1.1. Kebutuhan Fungsi .................................................................. 58
4.1.2. Kebutuhan Data ..................................................................... 59
4.2. Merancang Isi Multimedia ............................................................... 59
4.2.1. Menu Utama .......................................................................... 60
4.2.2. Menu Majalah ........................................................................ 60
4.2.3. Menu Berita ........................................................................... 61
4.2.4. Menu Tentang dan Menu Keluar ........................................... 61
4.3. Perancangan Sistem ......................................................................... 61
4.3.1. Flowchart .............................................................................. 62
4.3.2. Use Case Diagram ................................................................. 65
4.3.3. Activity Diagram ................................................................... 65
4.3.4. Sequence Diagram ................................................................ 68
4.4. Desain Rancangan Basis Data ........................................................ 70
4.5. Perancangan Antarmuka ................................................................. 71
4.5.1. Desain Halaman Menu Utama .............................................. 72
4.5.2. Desain Halaman majalah ....................................................... 73
4.5.3. Desain Halaman Download ................................................... 73
4.5.4. Desain Halaman Berita ......................................................... 74
4.5.5. Desain Halaman Detail Berita ............................................... 74
4.5.6. Desain Halaman Tentang ...................................................... 75
BAB V IMPLEMENTASI DAN EVALUASI SISTEM ................................ 76
5.1. Implementasi Sistem ........................................................................ 76
5.1.1. Hardware (Perangkat Keras) ................................................ 77
xi
5.1.2. Software (Perangkat Lunak) ................................................. 78
5.1.3. Brainware .............................................................................. 78
5.2. Pembuatan Database......................................................................... 79
5.2.1. Tabel Majalah ........................................................................ 79
5.3. Implementasi Tampilan Antarmuka Sistem .................................... 80
5.3.1. Tampilan Implementasi Splash Screen/Loading ................... 80
5.3.2. Tampilan Implementasi Menu Home .................................... 81
5.3.3. Tampilan Implementasi Menu Majalah ................................ 83
5.3.4. Tampilan Implementasi Menu Download ............................. 85
5.3.5. Tampilan Implementasi Menu Berita .................................... 86
5.3.6. Tampilan Implementasi Sub Menu Berita ............................ 87
5.3.7. Tampilan Implementasi Menu Tentang ................................ 88
5.4. Distribusi .......................................................................................... 89
5.4.1. Cara Install Aplikasi ............................................................. 89
BAB VI HASIL PENELITIAN DAN PEMBAHASAN ............................... 92
6.1. Hasil Penelitian ................................................................................ 92
6.1.1. Download Majalah ................................................................ 92
6.1.2. Membaca Berita .................................................................... 96
BAB VII PENUTUP ......................................................................................... 99
7.1. Kesimpulan ...................................................................................... 99
7.2. Saran ................................................................................................ 99
DAFTAR PUSTAKA ........................................................................................ 101
LAMPIRAN ...................................................................................................... 102
xii
DAFTAR GAMBAR
Gambar Halaman
3.3 Contoh Use Case Diagram ........................................................................... 27
3.4 Contoh Activity Diagram .............................................................................. 28
3.5 Contoh Diagram Sekuen ............................................................................... 30
3.6 Cara Kerja RSS ............................................................................................. 48
3.7 Arsitektur Eclipse ......................................................................................... 52
3.8 Tampilan Create AVD .................................................................................. 56
3.9 Emulator Android ......................................................................................... 57
4.1 Struktur Menu Utama ................................................................................... 60
4.2 Struktur Menu Majalah ................................................................................. 60
4.3 Struktur Menu Berita .................................................................................... 61
4.4 Flowcart Menu Majalah ............................................................................... 62
4.5 Flowcart Menu Berita ................................................................................... 63
4.6 Flowcart Menu Tentang ............................................................................... 64
4.7 Use Case Diagram ........................................................................................ 65
4.8 Activity Diagram Play Select ........................................................................ 66
4.9 Activity Diagram Ubah Pengaturan .............................................................. 67
4.10 Activity Diagram Tentang Cyber Media ..................................................... 67
4.11 Sequence Diagram Menu Majalah .............................................................. 68
4.12 Sequence Diagram Menu Berita ................................................................. 69
4.13 Sequence Diagram Menu Tentang .............................................................. 70
4.15 Desain Halaman Utama .............................................................................. 72
4.16 Desain Halaman Majalah ............................................................................ 73
4.17 Desain Halaman Download ........................................................................ 73
4.18 Desain Halaman Berita ............................................................................... 74
4.19 Desain Halaman Detail Berita .................................................................... 74
xiii
4.20 Desain Halaman Tentang ............................................................................ 75
5.1 Block Diagram Sistem .................................................................................. 77
5.2 Pembuatan Tabel Majalah ............................................................................ 79
5.3 Tampilan Implementasi Splash Screen/Loading .......................................... 80
5.4 Tampilan Implementasi Menu Home ........................................................... 81
5.5 Tampilan Implementasi Menu Majalah ........................................................ 83
5.6 Tampilan Implementasi Menu Download .................................................... 85
5.7 Tampilan Implementasi Menu Berita ........................................................... 86
5.8 Tampilan Implementasi Sub Menu Berita .................................................... 87
5.9 Tampilan Implementasi Menu Tentang ........................................................ 88
5.10 Tampilan Explorer ...................................................................................... 90
5.11 Tampilan Install Aplikasi ........................................................................... 90
5.12 Tampilan Proses Install Aplikasi ................................................................ 91
5.13 Tampilan Selesai Install Aplikasi ............................................................... 91
6.1 Tampilan Splash Screen ............................................................................... 93
6.2 Tampilan Menu Utama ................................................................................. 94
6.3 Tampilan Menu Majalah ............................................................................... 95
6.4 Tampilan Download ..................................................................................... 96
6.5 Tampilan Berita ............................................................................................ 97
6.6 Tampilan Sub Berita ..................................................................................... 98
xiv
DAFTAR TABEL
Tabel Halaman
3.1 Simbol-simbol Flowchart ............................................................................. 16
3.2 Simbol-simbol Notasi dalam UML .............................................................. 24
4.14 Rancangan Tabel Majalah .......................................................................... 71
xv
DAFTAR LAMPIRAN
Lampiran Halaman
1.1. Listing Program Loading ............................................................................. 103
1.2. Listing Program Menu Utama ..................................................................... 104
1.3. Listing Program Menu Majalah ................................................................... 106
1.4. Listing Program Detail Majalah .................................................................. 111
1.5. Listing Program Menu Berita ...................................................................... 114
1.6. Listing Program Sub Menu Berita ............................................................... 116
1.7. Listing Program Menu Tentang ................................................................... 116
1.8. Listing Program Tampilan Loading ............................................................. 117
1.9. Listing Program Tampilan Menu Utama ..................................................... 118
1.10. Listing Program Tampilan Menu Majalah ................................................ 119
1.11. Listing Program Tampilan Sub Menu Majalah ......................................... 123
1.12. Listing Program Tampilan Menu Berita .................................................... 123
1.13. Listing Program Tampilan Menu Tentang ................................................ 124
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan Teknologi Informasi di bidang aplikasi terutama aplikasi
berbasis android yang tidak akan berhenti berkembang, mempengaruhi berbagai
bidang untuk mempermudah mengolah data dan meng-update informasi agar dapat
memberikan hasil yang terbaik dan cepat di terima oleh pengguna, saat ini sudah
mulai bermunculan berbagai fitur dan aplikasi yang dapat dioperasikan ke dalam
perangkat mobile. Tentu saja aplikasi-aplikasi tersebut sangatlah bermanfaat bagi
masyarakat mengingat saat ini hampir setiap individu telah memegang perangkat
mobile dimanapun mereka berada, yang berarti bahwa aplikasi ini pun dapat
dioperasikan sewaktu-waktu. Android merupakan salah satu contoh perangkat mobile
yang sekarang tidak asing lagi dan banyak dikembangkan.
Salah satunya di bidang jurnalistik, jenis bidang pekerjaan yang menuntut
bagaimana sebuah kabar berita disampaikan kepada masyarakat dengan aktual dan
akurat namun disampaikan secara secepat dan seluas mungkin. Tentunya sistem yang
digunakan juga harus dapat memenuhi kebutuhan tersebut.
2
Aplikasi Portal Majalah Cyber Media Berbasis Android akan mempermudah
menyampaikan suatu kabar dalam waktu yang singkat. Kemudahan dalam mengakses
majalah via mobile juga akan menjadi salah satu keunggulan aplikasi ini karena
memungkinkan banyak orang yang membaca dan tujuan majalah dapat dibaca oleh
masyarakat luas dapat tercapai.
Berdasarkan latar belakang di atas dan ketertarikan penulis dengan
perkembengan teknologi di bidang aplikasi android maka penulis mengambil judul
“APLIKASI PORTAL MAJALAH CYBER MEDIA BERBASIS ANDROID (
STUDI KASUS MAJALAH CYBER MEDIA INTERNET CLUB UNISBANK
SEMARANG ) ”.
1.2 Perumusan dan Pembatasan Masalah
1. Berdasarkan latar belakang diatas maka permasalahan yang akan dibahas pada
tugas akhir ini adalah:
“Bagaimana membangun aplikasi portal majalah cyber media berbasis
Android.”
2. Pembatasan masalah akan dibatasi pada :
a. Sumber data yang akan digunakan adalah data dari majalah Cyber Media
Internet Club Unisbank Semarang menggunakan SQLite database .
b. Data edisi - edisi majalah tersimpan pada web server.
3
c. Pengguna dapat mendownload majalah dan membaca berita jika device atau
handphone terhubung dengan internet.
d. Aplikasi belum bisa update otomatis ketika data di web server di tambah.
1.3 Tujuan dan Manfaat Penelitian
1. Tujuan Penelitian
Penelitian ini bertujuan untuk membuat aplikasi portal majalah cyber media di
ukm internet club unisbank Semarang.
2. Manfaat Penelitian
a. Bagi Masyarakat
Memberi informasi mengenai berita dan trik dan tips di bidang teknologi
informasi melalui aplikasi majalah cyber media di Semarang.
b. Bagi Penulis
1. Mengaplikasikan ilmu yang didapat selama bangku kuliah menjadi lebih
bermanfaat dan menjadi bekal saat lulus nanti.
2. Melengkapi tugas dan syarat kelulusan Program Strata-1 jurusan Sistem
Informasi Fakultas Teknologi Informasi Universitas Stikubank (UNISBANK).
c. Bagi Akademik
Hasil penelitian ini diharapkan berguna bagi Akademik Unisbank sebagai tolak
ukur sampai seberapa besar penyerapan mahasiswa terhadap matakuliah yang
diberikan.
4
d. Bagi Majalah Cyber Media
Memiliki suatu bentuk baru yang dapat dijadikan sebagai sebuah kesempatan
untuk dapat memperkenalkan cyber media lebih luas lagi.
1.4. Metodologi Penelitian
Metode penelitian adalah cara yang digunakan oleh peneliti dalam mengumpulkan
data penelitiannya.
1.4.1. Obyek Penelitian
Obyek penelitian yang digunakan dalam mengumpulkan data adalah majalah Cyber
Media UKM Internet Club Semarang.
1.4.2. Jenis Data
Data-data yang dikumpulkan adalah data yang dianggap relevan dengan
permasalahan. Data-data tersebut dikelompokkan dalam 2 golongan, yaitu:
1. Data Sekunder
Data sekunder adalah data-data yang diperoleh tidak secara langsung dari
sumber penelitian dan dari orang-orang yang berkompeten dalam bidang
pemrograman komputer, literatur buku-buku, majalah, dan artikel internet,
blog, website khususnya yang berbasis mobile.
5
2. Data Primer
Data primer adalah data-data yang diperoleh secara langsung pada sumber
penelitian. Pada hal ini adalah Majalah Cyber Media UKM Internet Club
Unisbank Semarang.
1.4.3. Metode Pengumpulan Data
1. Literatur
Untuk literatur didapatkan dari artikel yang ada di internet, dan juga buku-buku yang
relevan yang berhubungan dengan bahasa pemrograman Web.
2. Wawancara
Untuk mendapatkan data yang valid dan relevan dilakukan wawancara dengan
semua pihak yang terlibat dalam pembuatan majalah Cyber Media, mulai dari
pemimpin redaksi, author, layouter, dan pemasaran.
1.5. Metode Pengembangan Aplikasi Mobile
Metode yang digunakan untuk membuat atau mengembangkan aplikasi ini adalah
model prototype (Pressman, 1992). Metode ini merupakan metode pengembangan
sistem dimana hasil analisa per bagian langsung diterapkan ke dalam sebuah model
tanpa harus menunggu seluruh sistem selesai dianalisa. Adapun tahap-tahap dalam
metode ini adalah:
6
1. Analisa
Pada tahap ini kegiatan yang dilakukan adalah menganalisa keperluan yang terdapat
pada masalah yang ada serta identifikasi obyektif keseluruhan dari perangkat lunak
yang dibutuhkan untuk merancang dan membangun aplikasi majalah berbasis
Android.
2. Desain
Pada tahap ini kegiatan yang dilakukan adalah membuat model atau prototype dan
dari permasalahan yang ada. Titik beratnya dalam hal menampilkan majalah dan
informasi yang ada dalama majalah cyber media.
3. Implementasi
Pada tahap ini kegiatan yang dilakukan adalah merancang model atau prototype dari
permasalahan serta rencana pemecahan masalah yang ada.
4. Integration & Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan
pengujian ini dilakukan untuk mengetahui apakah software yang dibuat sesuai dengan
desainnya dan masih terdapat kesalahan atau tidak.
7
5. Operation & Maintenance
Ini merupakan tahap terakhir dalam model prototype. Software yang sudah jadi
dijalankan serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam memperbaiki
kesalahan yang tidak ditemukan pada langkah sebelumnya.
1.6. Sistematika Penulisan
BAB I PENDAHULUAN
Dalam bab ini dibahas mengenai Latar Belakang Masalah, Perumusan Masalah,
Pembatasan Masalah, Tujuan Penelitian, Manfaat Penelitian, Metodologi
Penelitian dan Sistematika Penulisan.
BAB II TINJAUAN PUSTAKA
Dalam bab ini memuat uraian sistematis tentang informasi hasil penelitian yang
telah dilakukan sebelumnya dan menghubungkannya dengan masalah penelitian
yang sedang diteliti.
BAB III LANDASAN TEORI
Dalam bab ini berisi uraian beberapa landasan teori yang ada hubungannya
dengan pokok permasalahan yang akan dipilih, yang akan dijadikan landasan
penulisan tugas akhir yang akan dikutip dari berbagai pustaka.
8
BAB IV ANALISA DAN PERANCANGAN SISTEM
Dalam bab ini berisi tentang Analisa Masalah, Analisa Aplikasi, Analisa
Kebutuhan Sistem, Algoritma Sistem, Perancangan Sistem, Perancangan
Database, Perancangan Modul dan Perancangan User Interface.
BAB V IMPLEMENTASI DAN EVALUASI SISTEM
Dalam bab ini diuraikan tentang hasil dari sistem yang sudah dibuat, membahas
bagaimana rancangan itu diimplementasikan serta tampilan yang sudah dibuat.
BAB VI HASIL PENELITIAN DAN PEMBAHASAN
Dalam bab ini diuraikan tentang pengujian dari sistem aplikasi portal majalah,
membahas bagaimana aplikasi berjalan sesuai dengan perancangan yang di buat
sebelumnya.
BAB VII PENUTUP
Dalam bab ini berisi tentang kesimpulan dan saran dari sistem yang
berhubungan dengan permasalahan yang telah dibahas serta tindakan yang
harus di ambil atas hasil penelitian.
9
BAB II
TINJAUAN PUSTAKA
2.1. Pustaka yang Terkait Dengan Penelitian
Sebagai bahan pertimbangan dalam penelitian ini akan dicantumkan beberapa
hasil penelitan terdahulu oleh peneliti yang pernah penulis baca diantaranya :
Penelitian yang dilakukan oleh Mahasiswa Universitas Stikubank Semarang
yaitu Annisa Lucky Erawati dengan judul Rancang Bangun Aplikasi Portal
Majalah Cyber Media UKM Internet Club Menggunakan Codeigniter PHP
Framework Berbasis Web. Pada penelitian tersebut mejelaskan tentang aplikasi
Majalah Cyber Media yang di bangun menggunakan Codeigniter PHP Framework
dengan konsep MVC (Model, View, Controller) dan MySql Sebagai Basis Datanya.
Aplikasi ini di harapkan dapat membantu redaksi dalam melakukan update artikel dan
user memiliki sarana lain dalam berinteraksi di dalam bentuk Majalah Cyber Media.
Penelitian yang dilakukan oleh Mahasiswa Institut Sains & Teknologi
AKPRIND Yogyakarta yaitu Muhammad Sholeh dengan judul Implementasi E-
Paper Dalam Akses Informasi Digital. Pada penelitian tersebut menjelaskan
tentang portal informasi online dalam bentu e-paper, sehingga proses menyampaikan
informasi menjadi lebih menarik dan menjadi lebih efisien karena tidak lagi
menggunakan kertas sebagai alat tulis, e-paper online ini dapat digunakan sebagai
10
media menyampaikan informasi dengan tidak meninggalkan gaya menulis di Koran,
majalah, buku.
Penelitian yang dilakukan oleh Mahasiswa Universitas Advent Indonesia
yaitu David Charles Emor dengan judul Perancangan Aplikasi Buletin News And
Views Pada Smartphone Berbasis Android. Pada penelitian tersebut menjelasakan
tentang aplikasi UNAI News and Views merupakan bulletin mingguan yang di
terbitkan oleh Public Relation UNAI guna menyampaikan informasi dan kejadian-
kejadian yang terjadi. Saat ini pengguna mengakses UNAI News and Views melalui
web browser sehingga memerlukan dukungan komputer. Untuk itu perlu di lakukan
pengembangan kearah aplikasi mobile yang dapat mempermudah pengguna dalam
pengaksesan.
Penelitian yang dilakukan oleh Mahasiswa STMIK Jakarta STI&K yaitu
Raden Budiarto Hadi Prakoso dengan judul Pembuatan Aplikasi E-News
Kompas.com Pada Perangkat Mobile Berbasis Sistem Operasi Android. Dari
penelitian tersebut menjelaskan tentang aplikasi yang menggunakan teknologi really
simple sindication (RSS) yang dapat menayangkan informasi dan berita yang ada di
situs kompas.com secara real time ke dalam perangkat mobile dengan sistem operasi
berbasis Android. Sehingga pengguna mendapatkan informasi yang akurat, r
ekonomis, cepat, tepat, serta mudah mendapatkannya.
11
2.2 Perbedaan antara penelitian terdahalu dengan peneliti sekarang
Penelitian terdahulu yang dilakukan oleh Annisa Lucky Erawati dengan
judul Rancang Bangun Aplikasi Portal Majalah Cyber Media UKM Internet
Club Menggunakan Codeigniter PHP Framework Berbasis Web hanya
membahas mengenai tambah, edit, dan lihat pada artikel belum berkembang seperti
user dapat mendownload majalah pada portal tersebut . Metode yang digunakan
dalam pembuatan aplikasi ini adalah metode prototype dan dalam pembuatan aplikasi
penelitian ini menggunakan Codeigniter PHP Framework.
Penelitian terdahulu yang dilakukan oleh Muhammad Sholeh dengan judul
Implementasi E-Paper Dalam Akses Informasi Digital hanya membahas tentang
tamiplan dari penyampaian berita yang sebelumnya hanya tampilan biasa menjadi
interaktif seperti Koran sebenarnya. Dalam pembuatan aplikasi penelitian ini
menggunakan Macromedia Flash 8. Metode yang digunakan dalam pembuatan
aplikasi ini adalah metode prototype dan sebagai perangkat lunak pendukung
digunakan aplikasi e-paper.
Penelitian terdahulu yang dilakukan oleh David Charles Emor dengan judul
Perancangan Aplikasi Buletin News And Views Pada Smartphone Berbasis
Android hanya membahas tentang suatu majalah dapat di lihat dan di download.
Metode yang digunakan dalam pembuatan aplikasi ini adalah metode prototype, dan
dalam pembuatan aplikasinya menggunakan aplikasi pemprograman java dan J2ME.
12
Penelitian terdahulu yang dilakukan oleh Budiarto Hadi Prakoso dengan
judul Pembuatan Aplikasi E-News Kompas.com Pada Perangkat Mobile
Berbasis Sistem Operasi Android. Pada penelitian ini hanya membahas
menampilkan berita dengan RSS. Metode yang digunakan dalam pembuatan aplikasi
ini adalah metode prototype, dan dalam pembuatan aplikasinya menggunakan
Andorid.
Penelitian sekarang yang dilakukan oleh Budi Santoso dengan judul Aplikasi
Portal Majalah Cyber Media Berbasis Android ( Studi Kasus Majalah Cyber
Media Internet Club Unisbank Semarang ). Pada penelitian ini hanya membahas
Menampilakan Berita dan Download and Views pada majalah Cyber Media. Metode
yang digunakan dalam pembuatan aplikasi ini adalah metode prototype dan dalam
pembuatan aplikasi penelitian ini menggunakan Android.
13
BAB III
LANDASAN TEORI
3.1. Konsep Dasar Aplikasi
Teknologi Informasi dan Internet mengalami banyak perkembangan. Dunia
memang luas namun dalam perkembangan jaman yang semakin pesat dunia itu akan
menjadi sempit, maksudnya perkembangan teknologi komunikasi dan informasi
mempercepat dan mempermudah para pengguna untuk mendapatkan hal yang
diinginkan secara cepat. Dengan perkembangan Teknologi Informasi di jaman ini
mempermudah pencarian informasi secara cepat dan meringankan biaya. Terciptanya
Teknologi Informasi (TI) tersebut tidak hanya dimanfaatkan dalam satu bidang
melainkan banyak bidang. Pemanfaatan TI tersebut bisa dilakukan dalam dunia
pendidikan dan ilmu pengetahuan, bisnis, politik dan masih banyak bidang lain yang
digunakan. Banyak istilah yang digunakan dalam pemanfaatan bidang teknologi
informasi seperti e-learning, e-education, e-bussines, e commerce, e-news, e- library.
Aplikasi ini berisi berita atau informasi yang dikemas secara menarik dan
disampaikan melalui media elektronik secara online, yang biasanya ditampilkan oleh
komputer yang terhubung dengan internet / ditampilkan oleh browser yang terhubung
dengan sebuah server.
14
Memasuki era globalisasi, media cetak baik koran, tabloid, maupun majalah
tidak hanya mengandalkan edisi fisik yang tercetak saja untuk memberikan informasi
dan berita aktualnya kepada para pembaca, akan tetapi media ini dituntut untuk
semakin berkembang dan membuat sebuah inovasi baru dengan memberikan sajian
informasi yang online sehingga informasi yang diberikan kepada pembaca lebih up to
date, aktual serta cepat karena dapat diakses hanya dalam beberapa detik saja melalui
internet.
Aplikasi Seperti ini biasanya di beri nama E-news dan umumnya
dikembangkan oleh surat kabar maupun majalah ternama, karena baik surat kabar
maupun majalah ternama ini sudah ada secara cetak, lekat di hati pembacanya, kuat
secara modal, serta memiliki jaringan distribusi yang luas. sehingga mereka
menerbitkan edisi online sebagai wujud pelayanan kepada para pembaca, sehingga
dengan menggunakan protokol dan teknologi internet yang menghubungkan sistem
jaringan komputer global, mereka dapat menerbitkan edisi online yang dapat diakses
secara cepat dan seketika oleh pembaca.
Berikut ini beberapa contoh penyedia layanan berita online (News Service
Provider) terkemuka dan tepercaya di Indonesia ;
a) www.kompas.com
b) www.vivanews.com
c) www.okezone.com
15
d) www.detik.com
Adapun manfaat dari keberadaan E-News itu sendiri di antaranya :
a) Mendapatkan berita secara cepat dan mudah
b) Menghemat biaya dan waktu
c) Meningkatkan pengetahuan umum
3.2. Flowchart
3.2.1. Pengenalan Flowchart
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-
urutan prosedur dari suatu program. Flowchart menolong analis dan programmer
untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong
dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya
masalah yang perlu dipelajari dan dievaluasi lebih lanjut.
3.2.2. Simbol-Simbol Flowchart
Simbol-simbol flowchart yang biasanya dipakai adalah simbol-simbol
flowchart standar yang dikeluarkan oleh ANSI dan ISO.
16
Tabel 3.1 Simbol-simbol Flowchart
(Sumber : Mugi Rahmat, 2013)
Simbol Arti Contoh
Input / Output
Merepresentasikan
Input data atau
Output data yang
diproses atau
Informasi.
Baca Jam
& Tarif
Upah
Proses
Mempresentasikan
operasi.
Penghubung
Keluar ke atau
masuk dari bagian
lain flowchart
khususnya halaman
yang sama.
3 keluar
3 masuk
Anak Panah
Merepresentasikan
alur kerja.
Hitung upah
kotor
3
Hitung Upah
Kotor
17
Penjelasan
Digunakan untuk
komentar tambahan.
Urutkan Berdasarkan
Sebelum No.
pembayaran Pelanggan
Keputusan
Keputusan dalam
program.
< Apakah >
A < B
=
>
=
Terminal Points
Awal / akhir
flowchart.
Start
Punched card
Input / Output yang
menggunakan kartu
berlubang.
Kartu Absen
Magnetic Disk
I/O yang
menggunakan disk
magnetik.
Update File
Pegawai
18
3.3. UML (Unified Modeling Language)
3.3.1. Pengertian UML
UML adalah sebuah bahasa untuk menetukan, visualisasi, kontruksi, dan
mendokumentasikan artifact (bagian dari informasi yang digunakan atau dihasilkan
dalam suatu proses pembuatan perangkat lunak. Artifact dapat berupa model,
deskripsi atau perangkat lunak) dari system perangkat lunak, seperti pada pemodelan
bisnis dan system non perangkat lunak lainnya.
UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses
dalam memodelkan system yang besar dan kompleks. UML tidak hanya digunakan
dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang
membutuhkan pemodelan.
(Fadhlyashary, 2012)
3.3.2. Bagian-bagian UML
Bagian-bagian utama dari UML adalah view, diagram, model element, dan
general mechanism.
a. View
View digunakan untuk melihat sistem yang dimodelkan dari beberapa aspek
yang berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang
berisi sejumlah diagram.
19
Beberapa jenis view dalam UML antara lain: use case view, logical view,
component view, concurrency view,dan deployment view.
1) Use Case View
Mendeskripsikan fungsionalitas sistem yang seharusnya dilakukan sesuai
yang diinginkan external actors. Actor yang berinteraksi dengan sistem dapat
berupa user atau sistem lainnya.
View ini digambarkan dalam use case diagramsdan kadang-kadang dengan
activity diagrams. Viewini digunakan terutama untuk pelanggan, perancang
(designer), pengembang (developer), dan penguji sistem (tester).
2) Logical View
Mendeskripsikan bagaimana fungsionalitas dari sistem, struktur statis (class,
object, dan relationship) dan kolaborasi dinamis yang terjadi ketika object
mengirim pesan ke object lain dalam suatu fungsi tertentu.
View ini digambarkan dalam class diagrams untuk struktur statis dan dalam
state, sequence, collaboration, dan activity diagram untuk model dinamisnya.
View ini digunakan untuk perancang (designer) dan pengembang (developer).
3) Component View
Mendeskripsikan implementasi dan ketergantungan modul. Komponen yang
merupakan tipe lainnya dari code module diperlihatkan dengan struktur dan
ketergantungannya juga alokasi sumber daya komponen dan informasi
administrative lainnya.
20
View ini digambarkan dalam component view dan digunakan untuk
pengembang (developer).
4) Concurrency View
Membagi sistem ke dalam proses dan prosesor. View ini digambarkan dalam
diagram dinamis (state, sequence, collaboration, dan activity diagrams) dan
diagram implementasi (component dan deployment diagrams) serta digunakan
untuk pengembang (developer), pengintegrasi (integrator), dan penguji
(tester).
5) Deployment View
Mendeskripsikan fisik dari sistem seperti komputer dan perangkat (nodes) dan
bagaimana hubungannya dengan lainnya.
View ini digambarkan dalam deployment diagrams dan digunakan untuk
pengembang (developer), pengintegrasi (integrator), dan penguji (tester).
b. Diagram
Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun
untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram
merupakan bagian dari suatu view tertentu dan ketika digambarkan biasanya
dialokasikan untuk view tertentu. Adapun jenis diagram antara lain :
1) Use Case Diagram
Use case adalah abstraksi dari interaksi antara system dan actor. Use case
bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah system
dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah system
21
dipakai. Use case merupakan konstruksi untuk mendeskripsikan bagaimana
system akan terlihat di mata user. Sedangkan use case diagram memfasilitasi
komunikasi diantara analis dan pengguna serta antara analis dan client.
2) Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku
(operasi) dan relasi yang sama. Sehingga dengan adanya class diagram dapat
memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari
class-class yang ada dan relasinya satu dengan yang lainnya. Sebuah sistem
biasanya mempunyai beberapa class diagram. Class diagram sangat
membantu dalam visualisasi struktur kelas dari suatu system.
3) Component Diagram
Component software merupakan bagian fisik dari sebuah system, karena
menetap di komputer tidak berada di benak para analis. Komponent
merupakan implementasi software dari sebuah atau lebih class. Komponent
dapat berupa source code, komponent biner, atau executable component.
Sebuah komponent berisi informasi tentang logic class atau class yang
diimplementasikan sehingga membuat pemetaan dari logical view ke
component view. Sehingga component diagram merepresentasikan dunia riil
yaitu component software yang mengandung component, interface dan
relationship.
22
4) Deployment Diagram
Menggambarkan tata letak sebuah system secara fisik, menampakkan bagian-
bagian software yang berjalan pada bagian-bagian hardware, menunjukkan
hubungan komputer dengan perangkat (nodes) satu sama lain dan jenis
hubungannya. Di dalam nodes, executeable component dan object yang
dialokasikan untuk memperlihatkan unit perangkat lunak yang dieksekusi oleh
node tertentu dan ketergantungan komponen.
5) State Diagram
Menggambarkan semua state (kondisi) yang dimiliki oleh suatu object dari
suatu class dan keadaan yang menyebabkan state berubah. Kejadian dapat
berupa object lain yang mengirim pesan. State class tidak digambarkan untuk
semua class, hanya yang mempunyai sejumlah state yang terdefinisi dengan
baik dan kondisi class berubah oleh state yang berbeda.
6) Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada sebuah
scenario. Kegunaannya untuk menunjukkan rangkaian pesan yang dikirim
antara object juga interaksi antara object, sesuatu yang terjadi pada titik
tertentu dalam eksekusi sistem.
7) Collaboration Diagram
Menggambarkan kolaborasi dinamis seperti sequence diagrams. Dalam
menunjukkan pertukaran pesan, collaboration diagrams menggambarkan
23
object dan hubungannya (mengacu ke konteks). Jika penekannya pada waktu
atau urutan gunakan sequencediagrams, tapi jika penekanannya pada konteks
gunakan collaboration diagram.
8) Activity Diagram
Menggambarkan rangkaian aliran dari aktivitas, digunakan untuk
mendeskripsikan aktifitas yang dibentuk dalam suatu operasi sehingga dapat
juga digunakan untuk aktifitas lainnya seperti use case atau interaksi.
3.3.3. Tujuan Penggunaan UML
Tujuan UML adalah sebagai berikut:
a) Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman
dan proses rekayasa.
b) Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
c) Memberikan model yang siap pakai, bahsa pemodelan visual yang ekspresif
untuk mengembangkan dan saling menukar model dengan mudah dan
dimengerti secara umum.
d) UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat
lengkap dan detail. Dengan cetak biru ini maka akan bias diketahui informasi
secara detail tentang coding program atau bahkan membaca program dan
menginterpretasikan kembali ke dalam bentuk diagram
(reserve enginering).
(Fadhlyashary, 2012)
24
3.3.4. Notasi dalam UML
Berikut adalah simbol-simbol pada notasi dalam UML :
Tabel 3.2 Simbol-simbol Notasi dalam UML
(Sumber : Hermawan, 2004)
Simbol Keterangan
Aktor : Mewakili peran orang, sistem yang
lain atau alat ketika berkomunikasi dengan
use case
Use case : Abstraksi dari interaksi
antara sistem dan aktor
Association adalah abstraksi dari
penghubung antara aktor dan use case
Generalisasi : Menunjukan spesialisai
aktor untuk dapat berpartisipasi dalam
Use case
<<include>> Menunjukkan bahwa suatu suatu use
case seluruhnya merupakan
fungsionalitas dari use case lain nya
25
<<extend>> Menunjukkan bahwa suatu use case
merupakan tambahan fungsional dari
use case lain nya jika suatu kondisi
terpenuhi.
Notoasi Class : meunjukan kesimpulan
objek yang memiliki atribut dan operasi
yang sama. Digunakan untuk
mengabstraksikan elemen-elemen dari
sistem yang sedang dibangun.
Start Point : digunakan untuk memulai suatu
workflow pada sebuah Activity Diagram
Final State : digunakan untuk mengakhiri
suatu workflow pada sebuah Activity
Diagram
ActionState : digunakan untuk aktivitas
yang dilakukan oleh user
26
Notasi Package adalah kontainer atau
wadah konseptual yang digunakan untuk
mengelompokkan elemen-elemendari sistem
yang sedang dibangun, sehingga bisa dibuat
model yang lebih sederhana. Tujuannya
adalah untuk mempermudah penglihatan
(Visibility) dari model yang sedang
dibangun
Notasi Note : digunakan untuk memberikan
keterangan dan komentar tambahan dari
suatu elemen sehingga bisa langsung
terlampir dalam model
3.3.5. Use Case Diagram
Use-case diagram adalah gambaran graphical dari beberapa atau semua actor,
use-case, dan interaksi diantara komponen-komponen tersebut yang memperkenalkan
suatu sistem yang akan dibangun. Use-case diagram menjelaskan manfaat suatu
sistem jika dilihat menurut pandangan orang yang berada di luar sistem. Diagram ini
menunjukkan fungsionalitas suatu sistem atau kelas dan bagaimana sistem tersebut
berinteraksi dengan dunia luar.
Use-case diagram dapat digunakan selama proses analisis untuk menangkap
requirement sistem dan untuk memahami bagaimana sistem seharusnya bekerja.
27
Selama tahap desain, use-case diagram berperan untuk menetapkan perilaku
(behavior) sistem saat diimplementasikan. Dalam sebuah model mungkin terdapat
satu atau beberapa use-case diagram. Kebutuhan atau requirements system adalah
fungsionalitas apa yang harus disediakan oleh sistem kemudian didokumentasikan
pada model use-case yang menggambarkan fungsi sistem yang diharapkan (use-
case), dan yang mengelilinginya (actor), serta hubungan antara actor dengan use-case
(use-case diagram) itu sendiri.
(Sukmanagara, 2012)
Berikut ini merupakan contoh use case diagram :
System
TamuReceptionist
Reservasi
Check-in
Check-out
Laundry
Gambar 3.3 Contoh Use Case Diagram Reservasi Hotel
28
3.3.6. Activity Diagram
Activity diagrams menggambarkan berbagai alur aktivitas dalam sistem yang
sedang dirancang, bagaimana masing-masing alur berawal, decision yang mungkin
terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan
proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar
state adalah action dan sebagian besar transisi di-trigger oleh selesainya state
sebelumnya (internal processing). Oleh karena itu activity diagram tidak
menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem)
secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari
level atas secara umum.
(Hendika Deagostano, 2011)
Berikut ini merupakan contoh activity diagram :
Gambar 3.4 Contoh Activity Diagram Check-in Hotel
29
3.3.7. Diagram Sekuen (Sequence Diagram)
Diagram sekuen adalah gambaran urutan kejadian suatu kegiatan yang
digunakan untuk membantu kita dalam membuat statechart (Haryanto, 2004).
Diagram sekuen digunakan untuk :
a. Overview perilaku.
b. Menunjukkan objek-objek yang diperlukan
c. Mendokumentasikan skenario dari suatu diagram use-case
d. Memeriksa jalur-jalur pengaksesan (Haryanto, 2004 : 309).
Menurut Bambang Haryanto (2004) alasan pembuatan diagram sekuen
adalah:
1) Diagram sekuen merupakan cara untuk memvalidasi logika kita.
2) Diagram sekuen merupakan cara bagus untuk mendokumentasikan rancangan
kita, setidaknya dari pandangan use-case.
3) Diagram sekuen dapat menjadi mekanisme bagus untuk mendeteksi botol
(bottlenect) di rancangan kita. Dengan melihat pesan yang dikirim ke objek,
mencari tahu lama pelaksanaannya, kita akan segera tahu dimana melakukan
perubahan untuk menyebarkan beban di sistem. Beberapa CASE tool, dapat
mensimulasikan aspek ini.
Diagram sekuen sering dapat memberitahu kelas-kelas di aplikasi yang akan
kompleks sehingga dapat menjadi penanda untuk membuat diagram statechart untuk
kelas itu.
Berikut ini merupakan contoh diagram sekuen:
30
Gambar 3.5 Contoh Diagram Sekuen Reservasi Pada Hotel
3.4. Android
3.4.1. Pengertian Android
Android adalah sebuah kumpulan perangkat lunak untuk perangkat mobile
yang mencakup sistem operasi, middleware dan aplikasi utama mobile. Android
memiliki empat karakteristik sebagai berikut:
1. Terbuka
Android dibangun untuk benar-benar terbuka sehingga sebuah aplikasi
dapat memanggil salah satu fungsi inti ponsel seperti membuat panggilan,
mengirim pesan teks, menggunakan kamera, dan lain-lain. Android
menggunakan sebuah mesin virtual yang dirancang khusus untuk
mengoptimalkan sumber daya memori dan perangkat keras yang terdapat
31
di dalam perangkat. Androidb merupakan open source, dapat secara bebas
diperluas untuk memasukkan teknologi baru yang lebih maju pada saat
teknologi tersebut muncul. Platform ini akan terus berkembang untuk
membangun aplikasi mobile yang inovatif.
2. Semua aplikasi dibuat sama
Android tidak memberikan perbedaan terhadap aplikasi utama dari
telepondan aplikasi pihak ketiga (third-party application). Semua aplikasi
dapat dibangun untuk memiliki akses yang sama terhadap kemampuan
sebuah telepon dalam menyediakan layanan dan aplikasi yang luas
terhadap para pengguna.
3. Memecahkan hambatan pada aplikasi
Android memecah hambatan untuk membangun aplikasi yang baru dan
inovatif. Misalnya, pengembang dapat menggabungkan informasi yang
diperoleh dari web dengan data pada ponsel seseorang seperti kontak
pengguna, kalender, atau lokasi geografis.
4. Pengembangan aplikasi yang cepat dan mudah
Android menyediakan akses yang sangat luas kepada pengguna untuk
menggunakan library yang diperlukan dan tools yang dapat digunakan
untuk membangun aplikasi yang semakin baik. Android
memilikisekumpulan tools yang dapat digunakan sehingga membantu para
32
pengembang dalam meningkatkan produktivitas pada saat membangun
aplikasi yang dibuat.
Google Inc. sepenuhnya membangun Android dan menjadikannya bersifat terbuka
(open source) sehingga para pengembang dapat menggunakan Android tanpa
mengeluarkan biaya untuk lisensi dari Google dan dapat membangun Android tanpa
adanya batasan-batasan.
Android Software Development Kit (SDK) menyediakan alat dan Application
Programming Interface (API) yang diperlukan untuk mulai mengembangkan aplikasi
pada platform Android menggunakan bahasa pemrograman Java. (“Pengertian
Android”, binus.ac.id)
3.4.2. Fitur Sistem Operasi Android
Sistem operasi Android memiliki fitur-fitur sebagai berikut :
a) Kerangka kerja aplikasi (application framework) Digunakan untuk menulis
aplikasi di Android sehingga memungkinkan penggunaan kembali dan
penggantian komponen. Kerangka kerja ini didukung oleh berbagai open
source libraries seperti openssl, sqlite,dan libc serta didukung oleh libraries
utama Android. Kerangka kerja sistem operasi Android didasarkan pada
UNIX file system permission yang menjamin bahwa aplikasi-aplikasi
tersebut hanya memiliki kemampuan yang diberikan oleh pemilik ponsel
pada waktu penginstalan.
33
b) Dalvik Virtual Machine (DVM)
Dalvik Virtual Machine (DVM) adalah sebuah mesin virtual yang
menggunakan memori yang sangat rendah dan secara khusus dirancang
untuk Android untuk dijalankan pada embedded system. DVM bekerja
dengan baik pada situasi dengan tenaga yang rendah dan
mengoptimalkanperangkat mobile. DVM juga mengatur atribut dari
Central Processing Unit (CPU) serta membuat sebuah format file yang
spesial (.DEX) yang dibuat selama build time post processing. DVM
mengambil file yang dihasilkan oleh class Java dan menggabungkannya ke
dalam satu atau lebih Dalvik Executable (.dex). DVM dapat menggunakan
kembali salinan informasi dari beberapa class file dan secara efektif
mengurangi kebutuhan penyimpanan oleh setengah dari Java Archive (.jar)
file tradisional. Konversi antara kelas Java dan format (.dex) dilakukan
dengan memasukkan “dx tool”. DVM menggunakan assembly-code yang
berbeda dimana DVM menggunakan register sebagai unit utama dari
penyimpanan data daripada menggunakan stack. Hasil akhir dari
executable-code pada Android, merupakan hasil dari DVM yang
didasarkan bukan pada Java byte-code melainkan pada file (.dex). Hal ini
berarti bahwa Java byte-code tidak dieksekusi secara langsung melainkan
dimulai dari Java class file terlebih dahulu dan kemudian
mengkonversikannya ke dalam file (.dex) yang berhubungan.
34
c) Browser yang terintegrasi
Didasarkan pada open source WebKit engine yang memiliki dua layout dan
pengelompok frame. Layout menampilkan halaman tanpa menunggu untuk
melakukan pemblokan elemen seperti eksternal Cascade Style Sheet (CSS)
atau eksternal JavaScript. Beberapa saat kemudian dilakukan penghalusan
dengan semua sumber sudah diunduh ke dalam sebuah perangkat. Frame
yang ada digabungkan menjadi suatu frame tunggal dan memasukkannya
ke dalam browser. Fitur-fitur inilah yang meningkatkan kecepatan dan
penggunaan browsing internet melalui ponsel.
d) Grafik yang teroptimasi
Didukung oleh library grafis 2D dan grafis 3D yang berdasarkan
spesifikasi OpenGl ES 1.0 (akselerasi perangkat keras bersifat opsional).
e) SQLite
SQLite merupakan relational database management system yang kecil
(sekitar 500 Kb) yang diintegrasikan pada sistem operasi Android. SQLite
didasarkan pada function calls dan single file, dimana semua definisi, tabel,
dan data disimpan.
f) Dukungan media untuk suara, video dan format gambar
Seperti Moving Picture Experts Group 4 (MPEG4), MPEG-1 or MPEG-2
Audio Layer 3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-
35
Rate (AMR) audio codec, Joint Photographic experts Group (JPG),
Portable Network Graphics (PNG), Graphics Interchange Format (GIF).
g) GSM Telephony (bergantung dari perangkat keras yang digunakan)
h) Bluetooth, Enhanced Data rates for GSM Evolution (EDGE), 3rd
Generation (3G), dan WiFiTM (bergantung dari perangkat keras yang
digunakan)
i) Kamera, Global Postioning System (GPS), kompas dan accelerometer
(bergantung dari perangkat keras yang digunakan)
j) Lingkungan pengembangan yang lengkap, seperti emulator, peralatan
untuk debugging, memori dan performance profiling, serta plug-in untuk
Eclipse IDE. (Tomas Katyosovas, 2008).
3.4.3. Sistem Arsitektur Operasi Android
Sistem Operasi Android memiliki komponen utama sebagai berikut :
a) Aplikasi
Android berisi sekumpulan aplikasi utama seperti : email client, program
Short Message Service (SMS), kalender, peta, browser, daftar kontak, dan
lain-lain. Semua aplikasi ditulis dengan menggunakan bahasa
pemgrograman Java.
b) Kerangka kerja aplikasi
Kerangka kerja aplikasi yang ditulis dengan menggunakan bahasa
pemrograman Java merupakan peralatan yang digunakan oleh semua
36
aplikasi, baik aplikasi bawaan dari ponsel seperti daftar kontak, dan kotak
SMS, maupun aplikasi yang ditulis oleh Google ataupun pengembang
Android. Android menawarkan para pengembang kemampuan untuk
membangun aplikasi yang inovatif. Pengembang bebas untuk mengambil
keuntungan dari perangkat keras, akses lokasi informasi, menjalankan
background services, mengatur alarm, menambahkan peringatan ke status
bar, dan masih banyak lagi. Pengembang memiliki akses yang penuh ke
dalam kerangka kerja API yang sama yang digunakan oleh aplikasi utama.
Pada dasarnya, kerangka kerja aplikasi memiliki beberapa komponen
sebagai berikut:
1. Activity Manager
Mengatur siklus dari aplikasi dan menyediakan navigasi backstack
untuk aplikasi yang berjalan pada proses yang berbeda.
2. Package Manager
Untuk melacak aplikasi yang di-instal pada perangkat.
3. Windows Manager
Merupakan abstraksi dari bahasa pemrograman Java pada bagian atas
dari level services (pada level yang lebih rendah) yang disediakan oleh
Surface Manager.
4. Telephony Manager
Berisi sekumpulan API yang diperlukan untuk memanggil aplikasi.
37
5. Content Providers
Digunakan untuk memungkinkan aplikasi mengakses data dari
aplikasi lain (seperti contacts) atau untuk membagikan data mereka
sendiri.
6. Resource Manager
Digunakan untuk menagkses sumber daya yang bersifat bukan code
seperti string lokal, bitmap, deskripsi dari layout file dan bagian
eksternal lain dari aplikasi.
7. View System
Digunakan untuk mengambil sekumpulan button, list, grid, dan text
box yang digunakan di dalam antarmuka pengguna.
8. Notification Manager
Digunakan untuk mengatur tampilan peringatan dan fungsi-fungsi lain.
c) Libraries
Android memiliki sekumpulan library C/C++ yang digunakan oleh
berbagai komponen dalam sistem Android. Kemampuan-kemampuan ini
dilihat oleh para pengembang melalui kerangka kerja aplikasi.
Beberapa dari library utama dijelaskan sebagai berikut:
1. System C Library
Merupakan implementasi turunan dari standar system library C (libc)
yang diatur untuk peralatan berbasis embedded Linux.
38
2. Media Libraries
Disediakan oleh PacketVideo (salah satu anggota dari OHA) yang
memberikan library untuk memutar ulang dan menyimpan format
suara dan video, serta static image file seperti MPEG4, MP3, AAC,
AMR, JPG, and PNG.
3. Surface Manager
Mengatur akses ke dalam subsistem tampilan dan susunan grafis layer
2D dan 3D secara mulus dari beberapa aplikasi dan menyusun
permukaan gambar yang berbeda pada layar ponsel.
4. LibWebCore
Merupakan web browser modern yang menjadi kekuatan bagi browser
Android dan sebuah embeddable web view.
5. Scalable Graphics Library (SGL)
SGL mendasari mesin grafis 2D dan bekerja bersama-sama dengan
lapisan pada level yang lebih tinggi dari kerangka kerja (seperti
Windows Manager dan Surface Manager) untuk
mengimplementasikan keseluruhan graphics pipeline dari Android.
6. 3D Libraries
Implementasi yang didasarkan pada OpenGL ES 1.0 APIs dimana
library menggunakan baik akselerasi perangkat keras 3D (jika tersedia)
39
ataupun yang disertakan, dengan rasterisasi perangkat lunak 3D yang
sangat optimal.
7. FreeType Library
Digunakan untuk menghaluskan semua tulisan bitmap dan vektor.
8. SQLite
Merupakan relational database yang kuat dan ringan serta tersedia
untuk semua aplikasi.
d) Android Runtime
Merupakan lokasi dimana komponen utama dari DVM ditempatkan.DVM
dirancang secara khusus untuk Android pada saat dijalankan pada
lingkungan yang terbatas, dimana baterai yang terbatas, CPU, memori, dan
penyimpanan data menjadi fokus utama. Android memiliki sebuah tool
yang terintegrasi yaitu “dx” yang mengkonversi generated byte code dari
(.JAR) ke dalam file (.DEX) sehingga byte code menjadi lebih efisien
untuk dijalankan pada prosesor yang kecil. Hal ini memungkinkan untuk
memiliki beberapa jenis dari DVM berjalan pada suatu peralatan tunggal
pada waktu yang sama. Core libraries ditulis dalam bahasa Java dan berisi
kumpulan class, I/O dan peralatan lain.
e) Linux Kernel
Arsitektur Android berdasarkan pada Linux 2.6 kernel yang dapat
digunakan untuk mengatur keamanan, manajemen memori, manajemen
40
proses, network stack, dan driver model. Kernel juga bertindak sebagai
lapisan abstrak antara perangkat keras dan seluruh software stack. (“Linux
Kernel”, binus.ac.id)
3.4.4. Versi Android
Android memiliki sejumlah pembaharuan semenjak rilis aslinya.
Pembaharuan ini dilakukan untuk memperbaiki bug dan menambah fitur-fitur
yang baru. Berikut merupakan versi-versi yang dimiliki Android sampai saat
ini:
a) Android versi 1.1
Pada tanggal 9 Febuari 2009, Google merilis Android versi 1.1 yang
dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, pencarian
suara, pengiriman pesan dengan Gmail, dan pemberitahuan email.
b) Android versi 1.5 (Cupcake)
Pada tanggal 30 April 2009 Android versi 1.5 sudah dirilis. Android versi
ini didasarkan pada Linux Kernel 2.6.27 dan terdapat beberapa
pembaharuan antar muka pengguna serta penambahan beberapa fitur dalam
Android versi 1.5. Pembaharuan yang dilakukan antara lain sebagai berikut
:
1. Kemampuan untuk merekam dan menonton video dengan modus
kamera.
41
2. Mengunggah video ke Youtube dan gambar ke Picasa langsung dari
telepon.
3. Dukungan Bluetooth Advanced Audio Distribution Profile (A2DP)
dan (AVRCP). Audio/Video Remote Control Profile
4. Kemampuan terhubung secara otomatis ke headset bluetooth dalam
jarak tertentu.
5. Widgets dan folder yang baru yang dapat ditambahkan ke dalam layar
utama.
6. Transisi animasi layar dan keyboard pada layar yang dapat disesuaikan
dengan sistem.
c) Android versi 1.6 (Donut)
Pada tanggal 15 September 2009 Android versi 1.6 sudah dirilis. Android
versi ini didasarkan pada Linux Kernel 2.6.29. Pembaharuan yang
dilakukan adalah sebagai berikut :
1. Android market yang sudah diimprovisasi.
2. Kamera, camcorder, dan antarmuka galeri yang terintegrasi.
3. Galeri memungkinkan pengguna untuk memilih banyak gambar yang
akan dihapus.
4. Voice search yang sudah diperbaharui.
5. Fasilitas pencarian yang sudah diperbaharui, yang memungkinkan
pencarian bookmark, history, dan web dari layar utama.
42
6. Teknologi yang mendukung Code Division Multiple Access/Evolution
Data Only (CDMA/EVDO), 802.1x, Virtual Private Network (VPN),
text-to-speech engine serta kemampuan dial contact.
7. Dukungan resolusi layar Wide Video Graphics Array (WVGA).
8. Kecepatan pencarian yang meningkat.
9. Peralatan pengembangan untuk gesture framework dan gesture builder.
d) Android versi 2.0/2.1 (Éclair)
Pada tanggal 26 Oktober 2009 Android versi 2.0 sudah dirilis. Android
versi ini didasarkan pada Linux Kernel 2.6.29.
Pembaharuan yang dilakukan adalah sebagai berikut :
1. Pengoptimalan kecepatan perangkat keras.
2. Dukungan untuk resolusi dan ukuran layar.
3. Perubahan antar muka pengguna dengan browser baru dan
dukungan HTML5.
4. Tampilan daftar kontak yang telah diperbaharui.
5. Rasio latar belakang (hitam dan putih) yang lebih baik.
6. Peningkatan Google Maps 3.1.2.
7. Microsoft exchange support.
8. Dukungan flash untuk kamera.
9. Digital zoom.
10. Bluetooth 2.1.
43
11. Live wallpaper.
12. Kelas motionevent ditambahkan untuk mendeteksi event
yang digunakan di dalam multi touch.
e) Android versi 2.2(Froyo)
Pada tanggal 20 Mei 2010 Android versi 2.2 sudah dirilis. Android versi ini
didasarkan pada Linux Kernel 2.6.32. Pembaharuan yang dilakukan adalah
sebagai berikut :
1. Optimasi kecepatan sistem operasi Android, memori dan performa.
2. Perbaikan kecepatan aplikasi tambahan dalam implementasi Just In
Time (JIT).
3. Integrasi dari JavaScript V8 Chrome ke dalam aplikasi browser.
4. Peningkatan dukungan Microsoft Exchange seperti kebijakan
kemanan, auto discovery dan sinkronisasi kalender.
5. Peningkatan penginstalan aplikasi yang memungkinkan adanya
shortcut pada ponsel.
6. Fungsionalitas USB tethering dan portable hotspot.
7. Penambahan pilihan untuk menonaktifkan akses data sepanjang
jaringan ponsel.
8. Pembaharuan aplikasi “Market” dengan fitur pembaharuan secara
otomatis.
44
9. Waktu peralihan yang singkat antara autotext dan kamus yang
dimilikinya.
10. Pengiriman kontak melalui bluetooth.
11. Dukungan password numerik dan alpha numeric.
12. Dukungan untuk melakukan pengunggahan file pada aplikasi browser.
13. Dukungan Adobe Flash 10.1.
(“Versi Android”, binus.ac.id)
3.5. XML
Sebelum mulai mempelajari teknik membangun aplikasi berbasis RSS, ada baiknya
jika memahami konsep dasar XML terlebih dahulu. Pemahaman tentang XML akan
membantu untuk lebih mudah memahami apa yang terjadi dibalik aplikasi web
service seperti RSS.
3.5.1 Pengertian XML
XML terletak pada inti web service, yang digunakan untuk mendeskripsikan
data. Fungsi utama dari XML adalah komunikasi antar aplikasi, integrasi data, dan
komunikasi aplikasi eksternal dengan perangkat lain. Dengan standarisasi XML,
aplikasi-aplikasi yang berbeda dapat dengan mudah berkomunikasi antar satu dengan
yang lain.
45
XML adalah singkatan dari eXtensible Markup Language. Bahasa markup
adalah sekumpulan aturan-aturan yang mendefinisikan suatu sintak yang digunakan
untuk menjelaskan, dan mendeskripsikan teks atau data dalam sebuah dokumen
melalui penggunaan tag. Bahasa markup lain yang populer seperti HTML,
menggambarkan kepada browser tentang bagaimana menampilkan format teks, data,
dan grafik ke layar komputer ketika sedang mengunjungi sebuah situs web. XML
adalah sebuah bahasa markup yang digunakan untuk mengolah meta data (informasi
tentang data) yang menggambarkan struktur dan maksud/tujuan data yang terdapat
dalam dokumen XML, namun bukan menggambarkan format tampilan data tersebut.
XML adalah sebuah standar sederhana yang digunakan untuk mendeskripsikan data
teks. XML juga dapat digunakan untuk mendefinisikan domain tertentu lainnya,
seperti musik, matematika, keuangan dan lain-lain yang menggunakan bahasa markup
berstruktur.
Seperti halnya HTML, XML juga menggunakan elemen yang ditandai dengan
tag pembuka (diawali dengan „<‟ dan diakhiri dengan „>‟), tag penutup (diawali
dengan „</ „diakhiri „>‟) dan atribut elemen (parameter yang dinyatakan dalam tag
pembuka misal <form name=”isidata”>). Hanya bedanya, HTML mendefinisikan dari
awal tag dan atribut yang dipakai di dalamnya, sedangkan pada XML dapat
menggunakan tag dan atribut sesuai kehendak pengguna.
46
2.5.2. Kelebihan dan Kekurangan XML
XML untuk saat ini bukan merupakan pengganti HTML. Masing-masing
dikembangkan untuk tujuan yang berbeda. Kalau HTML digunakan untuk
menampilkan informasi dan berfokus pada bagaimana informasi terlihat, XML
mendeskripsikan susunan informasi dan berfokus pada informasi itu sendiri. XML
terutama dibutuhkan untuk menyusun dan menyajikan informasi dengan format yang
tidak mengandung format standar layaknya heading, paragraph, table dan lain
sebagainya.
Sama dengan HTML, file XML berbentuk teks sehingga bila diperlukan
pengguna bisa membacanya tanpa memerlukan bantuan software khusus. Hal ini
memudahkan pengembang aplikasi yang menggunakan XML untuk men-debug
programnya. XML lebih fleksibel dibanding HTML dalam hal kemampuannya
menyimpan informasi dan data. Pada XML pengguna dapat menyimpan data baik
dalam atribut maupun sebagai isi elemen yang diletakkan di antara tag pembuka dan
tag penutup.
Dibandingkan dengan HTML, XML lebih rumit. Jika menulis sebuah
dokumen HTML, beberapa kesalahan penulisan masih ditolerir. Misalnya saat
menempatkan tag bersilangan seperti <p><b>Huruf Tebal</p></b> meskipun tidak
dianjurkan, HTML masih bisa bekerja dan menampilkan hasil tanpa ada masalah
namun tidak demikian dengan XML.
47
Kelebihan lain yang dimiliki XML adalah bahwa informasi bisa di pertukarkan dari
satu sistem ke sistem lain yang berbeda platform. Misalnya dari Windows ke Unix,
atau dari PC ke Machintosh bahkan dari internet ke ponsel dengan teknologi WAP.
3.6. RSS
3.6.1. Pengertian RSS
RSS kependekan dari Really Simple Sindication adalah sebuah metode
terbuka untuk pengumpulan dan penyatuan isi halaman sebuah web. Sebuah file RSS
memberikan data informasi ringkas tentang headlines, links dan article dariweb site.
File RSS termasuk dalam tipe metadata. Metadata adalah unit-unit informasi
tentang informasi yang biasa digunakan untuk menyediakan informasi deskriptif
tentang content dan karakteristik dari data. Metatags keywords dan description di
HTML merupakan contoh metadata, yang digunakan untuk menyediakan informasi
tentang web pages. RSS menggunakan aplikasi XML sebagai formatnya. Sebuah file
RSS menerangkan isi dari sebuah saluran informasi (channel) yang berisi logo/image,
site link, input box dan items. Item pada file RSS sering disebut sebagai “news
items”. Web site tertentu dapat menyalin dan menggunakan RSS yang dimiliki web
site lain untuk menginformasikan sebuah berita atau artikel, hal ini sering disebut
dengan RSS feeds. RSS di internet digambarkan dengan ikon .
Bila menggunakan file RSS dari website lain maka pengguna dapat
menampilkan intisari berita dari website tersebut. Cara ini baik sekali bila ingin agar
48
seorang pengunjung dapat membaca intisari informasi-informasi berupa berita
dan artikel yang up to date. Sebaliknya yang RSS secara tidak langsung
mempromosikan website ketika orang lain membaca isi dari file RSS.
RSS identik dengan apa yang disebut dengan Web Communications. RSS
merupakan salah satu topik yang sedang hangat yang dibicarakan di internet karena
mengubah cara kita menggunakan dan menyampaikan sebuah intisari berita yang up
to date pada sebuah web site. Penggunaan RSS semakin popular di internet. RSS
telah banyak digunakan pada aplikasi weblog, knowledge management networks dan
news syndication.
Gambar 3.6 Cara Kerja RSS
49
3.6.2. Sejarah Singkat RSS
Pada bulan Desember 1996 Ramanathan Guha, seorang teknisi dari
perusahaan Apple mengusulkan sebuah proyek dengan nama Project dengan format
MCF (Meta Content Framework) yang merupakan ide awal untuk memproses
metadata. MCF adalah sebuah format terbuka untuk mempresentasikan informasi
tentang content. Dave Winner adalah pengguna awal MCF ini, namun hal ini masih
diragukan.
Pada tahun 1997, Microsoft dan Netscape mengajukan proposal ke W3C.
Microsoft mengajukan proposal tentang Channel Definition Format (CDF) sedangkan
Netscape dengan Meta Content Framework XML. MCF using XML dari Netscape
merupakan cikal bakal RSS. Pada tahun yang sama W3C memublikasikan draf RDF
(Resource Description Framework) ke publik. RDF sendiri digunakan untuk
memproses metadata. RDF merupakan inspirasi dari proposal MCF dan PICS. Dave
Winner pada tahun yang sama, juga mengajukan proposal ke W3C dengan format
yang mirip dengan CDF.
Pada Maret 1999 Netscape meluncurkan versi RSS 0.9 dengan nama “RDF
Site Summary”. Versi ini menggunakan sintaks RDF dan XML. Pada tahun yang
sama Netscape memublikasikan format RSS 0.91 dengan nama “Rich Site Summary”
lalu diperbarui oleh Dave Winner menjadi versi RSS 0.92. Versi RSS yang digunakan
oleh DaveWinner memasukkan DTD dan elemen <scriptingNews> dari UserLand‟s.
50
Pada tahun 2000 RSS-DEV Working Group mengeluarkan RSS 1.0 dengan
nama yang sama yaitu “RDF Site Summary”, merupakan pengembangan dari RSS
0.9 yang menggunakan sintak RDF yang mirip dengan konsep asli RDF milik Dan
Libby pada RSS 0.9. Versi RSS 1.0 memfokuskan penggunaan extensibility pada file
RSS. RSS terus berkembang pesat hingga tahun 2005 dengan versi 2.0 yang kini
dikenal sebagai Really Simple Syndication.
3.6.3. Struktur File RSS
Sebelum membuat file RSS ada baiknya kita mengenal struktur format sebuah
file RSS. Kali ini penulis menggunakan contoh RSS 0.91 sebagai dasar pembuatan
RSS sederhana. File RSS dibuat dengan format XML dan biasa digambarkan dengan
ikon di sebuah halaman web site. Sebuah file RSS biasanya terdiri dari 4 tipe elemen
utama dari yaitu channel, image, items dan text input.
3.7. Eclipse
3.7.1. Sejarah Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-
independent).
Berikut ini adalah sifat dari Eclipse:
a. Multi-platform: Target sistem operasi Eclipse adalah Microsoft
Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
51
b. Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman
Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis
bahasa pemrograman lain seperti C/C++, Cobol, Python, Perl, PHP,
dan lain sebagainya.
c. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi. Eclipse
pun bisa digunakan untuk aktivitas dalam siklus pengembangan
perangkat lunak seperti dokumentasi, pengujian perangkat lunak,
pengembangan web, dan lain sebagainya.
Pada saat ini, Eclipse merupakan salah satu IDE favorit karena gratis dan open
source. Open source berarti setiap orang boleh melihat kode pemrograman perangkat
lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah
kemampuannya untuk dapat dikembangkan oleh pengguna dengan membuat
komponen yang disebut plug- in.
Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat
lunak pengembangan IBM Visual Age for Java 4.0. Produk Eclipse ini diluncurkan
oleh IBM pada tanggal 5 November 2001. IBM menginvestasikan US$ 40 juta untuk
pengembangannya. Sejak 5 November 2001, konsorsium Eclipse Foundation
mengambil alih pengembangan Eclipse lebih lanjut.
52
3.7.2. Arsitektur Eclipse
Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel. Apa yang
dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah
dipasang (diinstal).
Gambar 3.7 Arsitektir Eclipse
(Sumber : http://www.ibm.com/developerswork/aix/library/au-fiteclipse2)
Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform
(RCP). Berikut ini adalah komponen yang membentuk RCP:
a. Core platform
b. OSGi
c. SWT (Standard Widget Toolkit)
d. JFace
53
e. Eclipse Workbench
3.7.3. Konsep Eclipse
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development
Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program
Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in
baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman
Java. Konsep Eclipse adalah IDE adalah
1. Terbuka (open),
2. Mudah diperluas (extensible) untuk apa saja, dan
3. Tidak untuk sesuatu yang spesifik.
Eclipse tidak saja untuk mengembangkan program Java, tetapi juga untuk
berbagai macam keperluan. Perluasan apapun cukup dengan menginstal
plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++
maka telah terdapat plug-in CDT (C/C++ Development Tools) yang dapat
dipasang di Eclipse untuk Eclipse menjadi perangkat untuk pengembangan
C/C++.
Pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse,
plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE
54
setiap orang bisa membuat plug-in sesuai dengan keinginannya. Salah satu situs yang
menawarkan plug-in yang gratis adalah Eclipse downloads by project.
3.7.4. Histori (Versi) Eclipse
Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse
secara rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap
versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah proyek yang terlibat
dalam proyek Eclipse. Tujuan sistem ini adalah untuk menyediakan distribusi Eclipse
dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan untuk
mempermudah deployment dan maintenance untuk sistem enterprise, serta untuk
kenyamanan. Peluncuran simultan dijadwalkan pada bulan Juni setiap tahunnya.
Kode Peluncuran Tanggal Peluncuran Platform.
Nama Proyek :
a. Eclipse 3.0 tanggal luncuran 28 Juni 2004
b. Eclipse 3.1 tanggal luncuran 28 Juni 2005
c. Callisto 3.2 tanggal luncuran 30 Juni 2006
d. Europa 3.3 tanggal luncuran 29 Juni 2007
e. Ganymede 3.4 tanggal luncuran 25 Juni 2008
f. Galileo 3.5 tanggal luncuran 24 Juni 2009
55
g. Helios 3.6 tanggal luncuran 23 Juni 2010
(sumber: http://id.wikipedia.org/wiki/Eclipse (perangkat_lunak) )
3.7.5. Android Virtual Devices (AVD)
AVD adalah konfigurasi dari emulator sehingga kita dapat menjalankan
perangkat Android sesuai model yang dipilih, misal Android 1.5 atau 2.2. Untuk
dapat menjalankan emulator, Anda harus terlebih dahulu memiliki Android SDK
yang dapat diunduh di: http://dl.google.com/android/android-sdk_r06-windows.zip.
Setiap AVD terdiri dari:
1. Sebuah profil perangkat keras. Anda dapat mengatur opsi untuk
menentukan fitur hardware emulator. Misalnya, Anda dapat menentukan
apakah menggunakan perangkat kamera, apakah menggunakan keyboard
QWERTY fisik atau tidak, berapa banyak memori internal, dan lain-lain.
2. Sebuah pemetaan versi Android. Anda dapat menentukan versi dari
platform Android akan berjalan pada emulator.
3. Pilihan lainnya. Anda dapat menentukan skin yang ingin Anda gunakan
pada emulator, yang memungkinkan Anda menentukan dimensi layar,
tampilan, dan sebagainya. Anda juga dapat menentukan SD Card virtual
untuk digunakan dengan di emulator.
Anda dapat membuat AVD sebanyak apapun dibutuhkan, berdasarkan jenis
konfigurasi model dan jenis Android yang dipilih.
Cara membuat AVD:
56
Cara termudah untuk membuat AVD tanpa harus menggunakan Eclipse
adalah dengan menggunakan aplikasi AVD Manager, yang melalui SDK Setup.exe
yang terdapat pada Android SDK.
1. Buka SDK Setup.exe pada Android SDK yang sudah diunduh sebelumnya.
2. Pilih Virtual Devices pada panel kiri.
3. Pilih New. Window Create New AVD.
Gambar 3.8 Tampilan Create AVD
4. Tulis nama AVD, contoh avd-15
5. Pilih Target. Target adalah versi Android yang ingin digunakan. Agar
pilihan muncul, kamu terlebih dahulu harus unduh SDK add-on.
57
6. Isi pengaturan lainnya (tidak harus):
a) SD Card: alamat virtual SD Card serta ukuran dari SD Card tersebut.
b) Skin: Dimensi ukuran layar emulator.
c) Hardware: Perangkat keras emulator.
7. Pilih Create AVD
(“Arti Istilah AVD”, 2010)
3.7.6. Emulator
Emulator adalah sebuah program/aplikasi untuk menjalankan aplikasi
perangkat lain di dalam komputer. Contohnya seperti Emulator PS; yaitu aplikasi
untuk menjalankan game Play Station di dalam komputer kita. Tujuannya jelas, untuk
mencicipi sebuah aplikasi yang hanya bisa berjalan di sebuah perangkat tanpa harus
memiliki perangkat tersebut. (Fauzi Ghazali, 2011)
Gambar 3.9 Emulator Android
58
BAB IV
ANALISA DAN PERANCANGAN SISTEM
4.1. Analisa Kebutuhan
Langkah pertama yang harus dilakukan adalah analisa terhadap
kebutuhan fungsi dan kebutuhan data program ini sebelum membuat prototipe
sebagai bentuk jadi, dimana analisa sistem merupakan proses mempelajari
suatu sistem dengan cara menguraikan sistem tersebut kedalam elemen yang
membentuknya. Selanjutnya mengidentifikasi dan mengevaluasi
permasalahan – permasalahan yang terjadi serta kebutuhan yang di perlukan,
sehingga dapat disusulkan pembuatannya.
4.1.1. Kebutuhan Fungsi
Berdasarkan aplikasi yang akan dibuat, aplikasi ini diharapkan
dapat membantu user dalam mengakses majalah dan update berita
cyber media. Adapun kebutuhan fungsinya sebagai berikut :
1. Fungsi Download
Dalam aplikasi ini, user diharapkan mampu memperoleh majalah
secara cepat dan mudah.
2. Fungsi RSS
59
Dalam aplikasi ini , user diharapkan mampu mengikuti berita
terupdate dari web Cyber Media dengan funsi RSS.
4.1.2. Kebutuhan Data
Program yang akan buat memiliki kebutuhan data atau bahan
berupa image. Untuk image dalam aplikasi dibuat menggunakan
software Adobe Photoshop CS3 dengan format image (.PNG). Data
image tersebut antara lain sbb:
a. Image
Image yang dibutuhkan dalam aplikasi ini yaitu:
1. Background pada halaman loading, image yang digunakan
untuk bagian background loading awal dari aplikasi.
2. Background pada halaman utama, image yang digunakan untuk
bagian background dari aplikasi.
3. Objek-objek untuk halaman majalah, image yang di gunakan
untuk menampilkan edisi-edisi majalah.
4. Background pada halaman menu tentang , image yang di
gunakan untuk bagian background menu tentang.
4.2 Merancang Isi Multimedia
Menu yang digunakan dalam aplikasi majalah ini adalah sebagai berikut:
60
4.2.1 Menu Utama
Aplikasi majalah ini setelah menjalankan tampilan awal
pembuka dengan animasi loading dengan tampilan yang dirancang
untuk menarik user ke dalam program ini. Didalam menu utama
terdapat 4 pilihan menu yaitu menu Majalah, menu Berita, menu
Tentang dan menu Keluar.
Gambar 4.1 Stuktur Menu Utama
4.2.2 Menu Majalah
Pada menu Majalah digunakan untuk untuk melihat edisi-edisi
majalah cybermedia dan menuju ke halaman download majalah.
Gambar 4.2 Stuktur Menu Majalah
Menu Utama
Menu Majalah
Menu Keluar
Menu Tentang
Menu Berita
Menu Majalah
Daftar Majalah
Halaman Download
61
4.2.3 Menu Berita
Pada menu berita digukan user untuk melihat berita terupdate
dari web cybermedia.
Gambar 4.3 Stuktur Menu Berita
4.2.4 Menu Tentang dan Menu Keluar
Menu Tentang ini menampilkan penjelasan tentang majalah
cybermedia. Pada menu exit digunakan untuk keluar dari program
aplikasi majalah dengan disertai pertanyaan konfirmasi sebelum benar
– benar keluar dari game ini.
4.3. Perancangan Sistem
Setelah tahap analisa, tahap selanjutnya adalah tahap perancangan
aplikasi. Tahap perancangan akan memberikan gambaran tentang aplikasi
yang akan dikembangkan. Pada tahap perancangan ini akan digambarkan
dengan menggunakan Unified Modelling Language (UML). Dalam Unified
Menu Brita
Daftar Berita
Halaman Berita
62
Modelling Language (UML) ini terdiri dari use case diagram, activity
diagram, sequence diagram, dan class diagram.
4.3.1. Flowcart
1. Menu Majalah
Gambar 4.4 Flowcart Menu Majalah
63
Pertama User memilih menu majalah kemudian aplikasi menampilkan
edisi majalah, kemudian user dapat mendownload dengan memilih menu
download kemudian aplikasi akan mendownload dari database aplikasi.
2. Flowcart Menu Berita
Gambar 4.5 Flowcart Menu Berita
64
Pada menu berita user dapat memilih dari aplikasi kemudian
setelah dipilih maka akan muncul gambar dan ringkasan berita menggnakan
metode RSS .
3.Flowcart Menu Tentang
Gambar 4.6 Flowcart Menu Tentang
User juga dapat memilih menu tentang yang di dalamnya terdapat
penjelasan mengenai majalah cyber media.
65
4.3.2 Use Case Diagram
uc Use Case Model
User
Memilih Majalah,
Download Majalah
Membaca Berita,
Read More
Melihat Tentang
Select
Select
«include»
«include»
Gambar 4.7 Use Case Diagram
Pada diagram use case tersebut di gambarkan bagaimana kemampuan
system yang diusulkan, dimana pengguna dapat memilih menu – yang tersedia
seperti memilih majalah dan mendownload majalah, membaca berita dengan
metode RSS dan melihat penjelasan tentang majalah cyber media melalui
menu tentang.
4.3.3 Activity Diagram
Activity diagram menggambarkan rangkaian aliran dari
aktivitas, digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam
suatu operasi sehingga dapat juga digunakan untuk aktifitas lainnya seperti
use case atau interaksi.
66
a. Activity Diagram Menu Majalah
uc Use Case Model
Tampil menu download
Pilih Dowload
Memilih Menu Majalah
Start
Tampil menu majalah
Memilih edisi majalah
Download majalah
end
Gambar 4.8 Activity Diagram Menu Majalah
Dimulai dari user memilih menu majalah lalu system akan
menampilkan majalah kemudian user dapat memilih majalah dan download
majalah.
67
b. Activity Diagram Menu Berita
uc Use Case Model
Tampil berita
Memilih Menu berita
Start
Tampil menu berita
Memilih berita
Tampil halaman
web
end
Masuk ke web cyber
media
kembali ke menu berita
YA
TIDAK
Gambar 4.9 Activity Diagram Menu Berita
Dimulai dari user memilih menu berita lalu system akan
menampilkan berita dari web majalah cyber media dengan RSS , user
juga dapat membaca full berita dengan memilih read more.
c. Activity Diagram Tentang Cyber Media
Gambar 4.10 Activity Diagram Tentang Cyber Media
68
Dimulai dari user memilih menu tentang kemudian system akan
menampilkan penjelasan singkat mengenai majalah cyber media.
4.3.4 Sequence Diagram
a. Sequence Diagram Menu Majalah
sd Sequence
Menu Utama Menu Majalah Sub Menu
Majalah
DownloadUser
Masuk ke menu utam()
Pilih()
Pilih Majalah()
Pilih Download()
Tampil Majalah, Download Majalah()
Gambar 4.11 Sequence Diagram Menu Majalah
Sequence diagram pada menu majalah dimulai dari user masuk
kemenu utama dan kemudian memilih menu majalah dan dan download
majalah kemudian diproses oleh system untuk download majalah.
69
c. Sequence Diagram Menu Berita
sd Use Case Model
User Menu Utama Menu Berita Sub Menu Berita Halaman Web
Berita
Masuk ke Menu Utama()
Pilih()
Memilih Berita()
Menampilkan Halaman Web Berita()
Gambar 4.12 Sequence Diagram Menu Berita
Sequence diagram pada menu berita dimulai dari user masuk kemenu
utama kemudian memilih menu beritakemudian dip roses menggunakan RSS
untuk menampilkan berita.
70
d. Sequence Diagram Menu Tentang
sd Use Case Model
User Menu Utama Menu Tentang Halaman Tentang
Masuk ke Menu Utama()
Pilih()
Menampilkan Halaman Tentang()
Gambar 4.13 Sequence Diagram Menu Tentang
Sequence diagram pada menu tentang dimulai dari user masuk
menu utama dan memilih menu tentang lalu system akan menampilkan
penjelasan singkat tentang majalah cyber media.
4.4. Desain Rancangan Basis Data
Database atau basis data merupakan sistem yang terdiri atas kumpulan
file (tabel) yang saling berhubungan dalam sebuah basis data di sebuah
sistemkomputer yang memungkinkan untuk mengakses dan memanipulasi
file-file (tabel-tabel) tersebut. Pada Aplikasi Portal Majalah Cyber Media
Berbasis Android terdapat 1 tabel, diantaranya adalah:
71
1. Tabel Majalah
Table majalah ini, menjelaskan mengenai rancangan field-field yang
akan digunakan untuk menyimpan data-data majalah. Adapun field-field yang
dirancang adalah id bertipe int dengan panjang 2 ( dua ) karakter, field judul
bertipe varchar dengan panjang 30 (tiga puluh) karakter , field gambar bertipe
varchar dengan panjang 20 (dua puluh) karakter, dan field link bertipe varchar
dengan panjang 50 (lima puluh) karakter.
Field Type Size Description Primary
Key
Id Int 2 Id Majalah Yes
Judul Varchar 30 Judul
Majalah
Gambar Varchar 20 Nama File
Gambar
Link Varchar 50 Link
Majalah
Tabel 4.14 Rancangan Tabel Majalah
4.5. Perancangan Antarmuka
Perancangan sistem adalah tahapan untuk membuat tampilan dari sistem yang
akan diusulkan. Rancangan tampilan yang akan dibuat ini, merupakan tampilan
aplikasi.
72
4.5.1. Desain Halaman Menu Utama
Gambar 4.15 Desain Halaman Utama Aplikasi
Pada halaman utama terdapat background dan menu pilihan yang terdiri dari 4
button :
a. Button 1 untuk menampilkan edisi – edisi majalah.
b. Button 2 untuk menampilkan berita.
c. Button 3 untuk menampilkan halaman tentang cybermedia.
d. Button 4 untuk keluar.
73
4.5.2. Desain Halaman Majalah
Gambar 4.16 Desain Halaman Gerak Lurus Beratutan
Pada halaman Majalah terdapat tampilan2 majalah yang terdiri dari 21 button.
4.5.3. Desain Halaman Download
Gambar 4.17 Desain Halaman Download
Pada halaman utama terdapat background , gambar dan menu pilihan yang
terdiri dari 1 button download.
74
4.5.4. Desain Halaman Berita
Gambar 4.18 Desain Halaman Berita
Pada halaman berita adalah halaman RSS yang menampilkan judul dari berita
terupdate.
4.4.5. Desain Halaman Detail Berita
Gambar 4.19 Desain Halaman Detail Berita
75
Pada halaman detail berita menampilkan judul, gambar, dan deskripsi berita
dan read more unruk menuju website cybermedia.
4.5.6. Desain Halaman Tentang
Gambar 4.20 Desain Halaman Tentang
Pada halaman tentang terdapat gambar yang menjelaskan tentang cybermedia.
76
BAB V
IMPLEMENTASI DAN EVALUASI SISTEM
5.1. Implementasi Sistem
Implementasi ini merupakan langkah awal yang harus dilakukan sebelum
pembuatan suatu system agar siap untuk di operasikan. Pada bab ini akan di bahas
implementasi Portal Majalah Cyber Media Berbasis Android, Proses aplikasi ini akan
berjalan sesuai sistem yang di kehendaki, berikut proses penggunaan aplikasi ini
sebagai berikut :
1. Pada tampilan awal terdapat Splash Screen yang akan muncul berdurasi
sekitar 4 detik.
2. Tampilan di lanjutkan dari tampilan awal sebelumnya yang berupa
beberapa menu yaitu menu majalah, berita, tentang dan keluar.
3. Tampilan menu majalah akan ada tampilan majalah-majalah yang akan di
pilih oleh user. Dan ketika user memilih salah satu majalah maka akan
muncul halaman download dan ketika user memilih menu download maka
sistem secara otomatis akan mendownload majalah yang berupa pdf.
4. Tampilan menu Berita akan ada tampilan halaman judul – judul berita dan
ketika user memilih salah satu berita maka akan muncul deskripsi singkat
tentang berita di sertai gambar dan read more untuk membaca
selengkapnya di web.
77
Halaman
Majalah
Halaman
berita
Halaman
tentang
Download
Majalah
Detail berita
Majalah
5. Tampilan menu tentang akan ada tampilan gambar yang berisi deskripsi
singkat tentang majalah cyber media.
Sebagai gambaran Block Diagram sistem digambarkan sebagai berikut :
Gambar 5.1 Block Diagram Sistem
5.1.1. Hardware (Perangkat Keras)
Hardware atau peragkat keras yang digunakan dalam penggunaan aplikasi
portal majalah cyber media berbasis android minimal bisa berjalan pada spesifikasi
smartphone android :
a. Ram 512 Mb
b. Harddisk 1 Gb
c. Multi Touchscreen
Aplikasi Portal Majalah
Cyber Media Berbasis
Android
Majalah
Keluar
Berita
Tentang
78
5.1.2. Software (Perangkat Lunak)
Software atau peragkat lunak yang digunakan dalam penggunaan aplikasi
portal majalah cyber media berbasis android minimal bisa berjalan minimal pada
spesifikasi smartphone android :
a. Sistem operasi Android Froyo 2.2
b. Sistem operasi Android sudah di root
5.1.3. Brainware
Brainware atau sumber daya manusia yang dibutuhkan sebagai pengguna
aplikasi portal majalah cyber media berbasis android.
79
5.2. Pembuatan Database
5.2.1. Tabel Majalah
Gambar 5.2 Pembuatan Tabel Majalah
Merupakan Tabel yang di gunakan untuk menyimpan data majalah
yang ada pada system. Tabel majalah ini berisi data majalah yang berisi field
idMajalah, Judul, Gambar, Link. Pembuatan database menggunakan SQlite
Database Browser.
80
5.3. Implementasi Tampilan Antarmuka Sistem
5.3.1. Tampilan Implementasi SplashScreen/Loading
Gambar 5.3 Tampilan Implementasi SplashScreen/Loading
Tampilan Splash Screen atau loading Aplikasi Portal Majalah Cyber Media
Berbasis Android ini yang pertama kali tampil ketika icon “CyberMedia” di klik.
Dimana pada tampilan splash screen terdapat loading, dan logo majalah cyber media.
Setelah diklik untuk membuka menunggu splashscreennya berjalan 1 detik menuju
antarmuka menu utama. Listing program dari menu home terdapat pada lampiran
dengan nama Loading.java dan loading.xml.
81
Sedangkan Kode programnya adalah sebagai berikut :
public void run() {
try {
super.run();
while (wait < welcomeScreenDisplay) {
sleep(100);
wait += 100;
}
} catch (Exception e) {
System.out.println("EXc=" + e);
} finally {
startActivity(new
Intent(Loading.this,Menu.class));
finish();
5.3.2. Tampilan Implementasi Menu Home
Gambar 5.4 Tampilan Implementasi Menu Home
82
Gambar 5.4 menunjukkan tampilan menu home Aplikasi Portal Majalah
Cyber Media Berbasis Android yang terdiri dari dua menu utama yaitu menu majalah
dan berita, jika dipilih salah satu menu utama maka akan menampilkan sub menu dari
pilihan menu utama yang dipilih dan dua menu tambahan yaitu menu tentang cyber
media dan menu keluar . Listing program menu home terdapat dalam lampiran
dengan nama menu.java dan menu.xml.
Sedangkan Kode programnya adalah sebagai berikut :
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(),
Majalah.class);
startActivity(i);
}
});
//button ketiga
Button btnketiga = (Button) findViewById(R.id.btketiga);
/**
* Handling all button click events
* */
// Listening to Menu button click
btnketiga.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(),
AndroidRssReader.class);
startActivity(i);
}
});
//button keempat
Button btnkeempat = (Button) findViewById(R.id.btnkeempat);
/**
* Handling all button click events
* */
// Listening to Menu button click
btnkeempat.setOnClickListener(new View.OnClickListener() {
@Override
83
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(),
Tentang.class);
startActivity(i);
}
});
}
public void onClick(View view) {
if (view == keluar) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Apakah Anda Benar-Benar ingin" + "
keluar?")
.setCancelable(false)
.setPositiveButton("Ya", new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
})
.setNegativeButton("Tidak", new
DialogInterface.OnClickListener() {
5.3.3. Tampilan Implementasi Menu Majalah
Gambar 5.5 Tampilan Implementasi Menu Majalah
84
Gambar 5.5 menunjukkan tampilan menu majalah untuk memilih majalah
yang sudah di sediakan oleh aplikasi untuk kemudian pilih dan klik pada gambar
majalah untuk bisa di download. Listing program menu majalah terdapat dalam
lampiran dengan nama Majalah.java dan majalah.xml.
Sedangkan Kode programnya adalah sebagai berikut :
Button Button1 = (Button) findViewById(R.id.Button01);
Button1.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(),
DetailM.class);
i.putExtra("id", "1");
startActivity(i);
}
});
Button Button2 = (Button)
findViewById(R.id.Button02);
Button2.setOnClickListener(new View.OnClickListener()
{
85
5.3.4. Tampilan Implementasi Menu Download
Gambar 5.6 Tampilan Implementasi Menu Download
Setelah user memilih majalah cyber media yang igin di download dari meu
majalah maka setelah user memilih akan muncul tampilan download seperti gambar
di atas. Listing program menu download terdapat dalam lampiran dengan nama
DetailM.java dan detail_m.xml
Sedangkan Kode programnya adalah sebagai berikut :
public void addButtonClickListner()
{
Button btnNavigator =
(Button)findViewById(R.id.button1);
btnNavigator.setOnClickListener(new
OnClickListener(){
86
public void onClick(View arg)
{
Intent intent = new
Intent(Intent.ACTION_VIEW, Uri.parse(link));
startActivity(intent);
5.3.5. Tampilan Implementasi Menu Berita
Gambar 5.7 Tampilan Implementasi Menu Berita
Gambar 5.6 menunjukkan tampilah menu berita yang berisi berita-berita
terupdate dari website majalah cyber media yang ada di alamat www.internetclub.or.id
dengan tampilan menggunakan RSS feed dan web View. Listing program menu
berita terdapat dalam lampiran dengan nama AndroidRssReader.java dan
android_rss_reader.xml.
Sedangkan Kode programnya adalah sebagai berikut :
87
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_android_rss_reader);
try {
URL rssUrl = new URL(
"http://blog.internetclub.or.id/rss");
SAXParserFactory mySAXParserFactory = SAXParserFactory
.newInstance();
SAXParser mySAXParser =
mySAXParserFactory.newSAXParser();
XMLReader myXMLReader = mySAXParser.getXMLReader();
RSSHandler myRSSHandler = new RSSHandler();
myXMLReader.setContentHandler(myRSSHandler);
InputSource myInputSource = new
InputSource(rssUrl.openStream());
myXMLReader.parse(myInputSource);
myRssFeed = myRSSHandler.getFeed();
5.3.6. Tampilan Implementasi Sub Menu Berita
Gambar 5.8 Tampilan Implementasi Sub Menu Berita
88
Jika slah satu berita dipilih maka akan tampil ringkasan singkat berita yang
berisi judul, gambar dan artikel tentang berita. Listing program sub menu berita
terdapat dalam lampiran dengan nama ShowDetails.java dan details.xml.
Sedangkan Kode programnya adalah sebagai berikut :
Bundle bundle = this.getIntent().getExtras();
String htmlPre = "<!DOCTYPE html><html
lang=\"en\"><head><meta charset=\"utf-8\"></head><body
style='margin:0; pading:0; background-color: white;'>";
String htmlCode =
"<h1>"+bundle.getString("keyTitle")+"</h1></br>"+
bundle.getString("keyDescription")+"</br>"+bundle.getString("k
eyPubdate")+"</br>"+
"<a
href='"+bundle.getString("keyLink")+"'>Read More</a>"
;
String htmlPost = "</body></html>";
WebView webView = (WebView)findViewById(R.id.webView1);
5.3.7. Tampilan Implementasi Menu Tentang
Gambar 5.9 Tampilan Implementasi Menu Tentang
89
Gambar 5.9 menunjukkan tampilah menu tentang majalah cyber media yang
berisi informasi tentang majalah dan alamat facebook dan twitter. Listing program
menu berita terdapat dalam lampiran dengan nama Tentang.java dan tentang.xml.
Sedangkan Kode programnya adalah sebagai berikut :
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
progressDialog = ProgressDialog.show(Tentang.this,"Harap
Tunggu . . .", "System Sedang Memproses");
new Thread(){
public void run() {
try{
sleep(2000);
}
catch (Exception e) {
Log.e("tag",e.getMessage());
}
progressDialog.dismiss();
}
}.start();
setContentView(R.layout.tentang);
5.4. Distribusi
5.4.1. Cara Install Aplikasi
Cara install aplikasi ini dilakukan dengan cara offline,dengan langkah-langkah
sebagai berikut:
a. Masuk ke menu file manager / aplikasi explorer lainnya Masuk ke
lokasi dimana file CyberMedia(.apk) tersimpan (internal flash storage,
micro sd,)
90
Gambar 5.10 Tampilan Explorer
b. Tekan file yang akan diinstall lalu sentuh menu install (proses installasi
otomatis berjalan)
Gambar 5.11 Tampilan Install Aplikasi
91
c.Tunngu sampai proses install selesai
Gambar 5.12 Tampilan Proses Install Aplikasi
c. Setelah selesai sentuh open untuk membuka aplikasi
Gambar 5.13 Tampilan Selesai Install Aplikasi
92
BAB VI
HASIL PENELITIAN DAN PEMBAHASAN
6.1. Hasil Penelitian
Pada bab ini akan di jelaskan pengujian dari system aplikasi portal majalah
cyber media yang di peroleh melalui pengujian yang telah di lakukan. Pengujian di
lakukan untuk mengetahui apakah fungsi aplikasi yang telah di buat dapat berjalan
sesuai dengan perancangan yang di buat sebelumnya, contoh dari pengujian yang di
lakukan adalah mendownload majalah dan membaca berita. Berikut ini merupakan
pengujian dalam download majalah dan membaca berita.
6.1.1. Download Majalah
Sebelum mengunakan aplikasi portal majalah cyber media yang telah di buat
pastikan aplikasi portal majalah cyber media berbasis android tersebut telah terisntall
di dalam smartphone anda.
1. Langkah pertama yang perlu dilakukan untuk download majalah yaitu
membuka aplikasi portal majalah cyber media dengan mengklik icon dari
aplikasi portal majalah cyber media. Apabila berhasil masuk kedalam aplikasi
maka akan keluar tampilan splashscreen. Tampilan splashscreen dapat dilihat
pada gambar 6.1.
93
Gambar 6.1 SplashScreen
Pembahasan :
1. Tampilan splashsreen menampilkan gambar logo yang disimpan pada folder
res/drawable dengan nama file loading. Gambar splashscreen di tampilkan
selama 4 detik.
2. Kemudian akan tampil halaman utama setelah halaman splashscreen selesai di
tampilkan. Tampilan menu utama dapat dilihat pada gambar 6.2.
94
Gambar 6.2 Tampilan Menu Utama
Pembahasan:
1. Menu utama memiliki empat pilihan menu yaitu menu majalah, menu berita,
tentang Cyber Media, dan menu keluar. Untuk mendownload majalah harus
memilih menu majalah.
2. Setelah memilih menu majalah akan tampil menu majalah seperti gambar 6.3
95
Gambar 6.3 Tampilan Menu Majalah
Pembahasan:
1. Pada menu majalah terdapat 21edisi majalah yang telah di terbitkan oleh
majalah cyber media . untuk mendownload majalah harus memilih slaah satu
dari majalah yang sudah tampil pada menu majalah.
2. Setalah memilih salah satu dari majalah akan tampil halaman download seperti
gambar 6.4.
96
Gambar 6.4 Gambar Halaman Download
Penjelasan :
Terdapat judul dan cover majalah yang lebih jelas.
Terdapat tombol download untuk mendownload majalah
Setelah mengklik tombol majalah maka aplikasi secara otomatis akan
mendownload majalah yang tersimpan di server online dan di simpan
di hanphone.
6.1.2. Membaca Berita
Setelah berhasil mengunakan fungsi download selanjutnya funsi selanjutnya
dari aplikasi portal majalah cyber media adalah membaca berita dengan metode RSS
dengan langkah sama seperti download majalah tetapi setelah masuk ke menu utama
pilih menu berita untuk membaca berita seperti gambar 6.5.
97
Gambar 6.5 Halaman Berita
Penjelasan :
Terdapat judul website dan slogan dari pembuat majalah
Terdapat link dari website berita
Didalam menu berita terdapat beberapa judul berita yang secara otomatis
ketika web di update maka berita pada palikasi ini juga update.
Untuk membaca berita harus mengklik salah satu judul dari berita.
1. Klik pada salah satu judul berita maka tampilan berita akan seperti pada
gambar 6.6.
98
Gambar 6.6 Tampilan Berita
Penjelasan :
Pada tampilan berita terdapat judul berita dengan font yang lebih besar
Terdapat gambar dan artikel singkat tentang berita majalah cyber media.
Terdapat Readmore untuk membaca secara lengkap melalui website majalah
cyber media.
99
BAB VII
PENUTUP
Setelah melakukan analisa dan perancangan sistem, maka penulis dapat
mengambil suatu kesimpulan dan saran sesuai dengan sistem baru yang telah dibuat.
7.1. Kesimpulan
d. Aplikasi Portal Majalah Cyber Media Berbasis Android memudahkan pengguna
untuk memperoleh informasi dan majalah cyber media.
e. Aplikasi ini dapat diaplikasikan pada device android dengan minimal system
operasi 2.2 (froyo).
f. Upaya dalam memberikan kemudahan dalam menggunakan karena melalui
smartphone khususnya berbasis android kapanpun dan dimanapun.
7.2. Saran
Saran yang dapat penulis berikan sehubungan dengan Aplikasi Portal Majalah
Cyber Media Berbasis Android ini adalah sebagai berikut :
a. Pengembang bentuk sejenis pada platform mobile lainnya, (Symbian, J2me,
Blackberry, Iphone dan Windows Mobile).
b. Dapat dikembangkan dengan memperbanyak edisi-edisi majalah terbaru.
c. Dapat di kembangkan dengan adanya coment, share dan like pada edisi majalah.
d. Aplikasi ini agar dikembangkan lagi Agar tampilan menjadi responsive dan
menyesuaikan perangkat mobile yang di gunakan.
100
e. Dapat di kembangkan agar aplikasi update secara otomatis ketika data atau
majalah pada web server di update.
101
DAFTAR PUSTAKA
Annisa Lucky Erawati, 2012, Rancang Bangun Aplikasi Portal Majalah Cyber
Media Ukm Internet Club Menggunakan Codeigniter Php Framework
Berbasis Web, Universitas Stikubank Semarang
Arif Akbarul Huda (2014), Live Coding! 9 Aplikasi Buatan
Sendiri,Andi,Yogyakarta
David Charles Emor, 2010, Perancangan Aplikasi Buletin News and Views
Pada Smartphone Berbasis Android,Universitas Advent Indonesia
Hartono, Jogiyanto. 1999. Analisis Dan Disain Sistem Informasi: pendekatan
terstruktur teori dan praktek aplikasi bisnis.
Hariyanto, Bambang, Sistem Manajemen Basis Data: Pemodelan,
Perancangan, dan Terapannya , Informatika, Bandung: 2004
Hermawan, Julius. (2004).Analisa Desain & Pemrograman Berorientasi
Obyekdengan UML dan Visual Basic.NET. Yogyakarta : Andi.
Mulyadi, ST. (2010), Membuat Aplikasi Untuk Android,Multimedia Center
Publishing. Yogyakarta
Mochamad Gani Amri, dkk, 2012, Rancang Bangun Aplikasi Pemuat Berita
Multi RSS Menggunakan Metode Mashup untuk Mendapatkan Berita
Utama dari Kumpulan Berita dengan Topik Sejenis pada Platform
Android, Institut Teknologi Sepuluh Nopember
Raden Budiarto Hadi Prakoso, 2011,Aplikasi E-News Kompas.com pada
Perangkat Mobile Berbasis Sitem Android, Jakarta
Roger S.Pressman, Rekayasa Perangkat Lunak. Yogyakarta: ANDI, (1992)
Stephanus Hermawan, S. (2011), Mudah Membuat Aplikasi Android,Andi,
Yogyakarta
Tata Sutabri. 2005. Sistem Informasi Manajemen, Penerbit Andi, Yogyakarta.
Virgiawan Gilang Sukmanagara. http://10510164.blog.unikom.ac.id/use-case-
diagram.4w9. Diakses pada 13 April 2014
102
LAMPIRAN 1
LISTING PROGRAM
1.1 Listing Program Loading
package budi.cybermedia;
import java.io.IOException;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.database.SQLException;
public class Loading extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.loading);
DataBaseHelper db = new DataBaseHelper(this);
try {
db.createDataBase();
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
throw new Error("Unable to create database");
}
final int welcomeScreenDisplay = 3000;
Thread welcomeThread = new Thread() {
int wait = 0;
@Override
public void run() {
try {
super.run();
while (wait < welcomeScreenDisplay) {
sleep(100);
wait += 100;
}
103
} catch (Exception e) {
System.out.println("EXc=" + e);
} finally {
startActivity(new
Intent(Loading.this,Menu.class));
finish();
}
}
};
welcomeThread.start();
}
}
1.2. Listing Program Menu Utama
package budi.cybermedia;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.view.View;
import android.widget.Button;
public class Menu extends Activity implements View.OnClickListener {
Button keluar, detailm, tentang, majalah;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
keluar=(Button)findViewById(R.id.btnexit);
keluar.setOnClickListener(this);
//button kedua
Button btnkedua = (Button) findViewById(R.id.btnkedua);
/**
* Handling all button click events
* */
// Listening to Menu button click
btnkedua.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), Majalah.class);
startActivity(i);
}
104
});
//button ketiga
Button btnketiga = (Button) findViewById(R.id.btketiga);
/**
* Handling all button click events
* */
// Listening to Menu button click
btnketiga.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), AndroidRssReader.class);
startActivity(i);
}
});
//button keempat
Button btnkeempat = (Button) findViewById(R.id.btnkeempat);
/**
* Handling all button click events
* */
// Listening to Menu button click
btnkeempat.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), Tentang.class);
startActivity(i);
}
});
}
public void onClick(View view) {
if (view == keluar) {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Apakah Anda Benar-Benar ingin" + " keluar?")
.setCancelable(false)
.setPositiveButton("Ya", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
finish();
}
})
.setNegativeButton("Tidak", new DialogInterface.OnClickListener() {
105
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
})
.show();
}
}
}
1.3. Listing Program Menu Majalah
package budi.cybermedia;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class Majalah extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.majalah);
Button Button1 = (Button) findViewById(R.id.Button01);
Button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "1");
startActivity(i);
}
});
Button Button2 = (Button) findViewById(R.id.Button02);
Button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "4");
startActivity(i);
}
106
});
Button Button03 = (Button) findViewById(R.id.Button03);
Button03.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "5");
startActivity(i);
}
});
Button Button04 = (Button) findViewById(R.id.Button04);
Button04.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "3");
startActivity(i);
}
});
Button Button05 = (Button) findViewById(R.id.Button05);
Button05.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "2");
startActivity(i);
}
});
Button Button06 = (Button) findViewById(R.id.Button06);
Button06.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "6");
startActivity(i);
}
});
Button Button07 = (Button) findViewById(R.id.Button07);
Button07.setOnClickListener(new View.OnClickListener() {
@Override
107
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "7");
startActivity(i);
}
});
Button Button08 = (Button) findViewById(R.id.Button08);
Button08.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "8");
startActivity(i);
}
});
Button Button09 = (Button) findViewById(R.id.Button09);
Button09.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "9");
startActivity(i);
}
});
Button Button10 = (Button) findViewById(R.id.Button10);
Button10.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "10");
startActivity(i);
}
});
Button Button11 = (Button) findViewById(R.id.Button11);
Button11.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "11");
startActivity(i);
108
}
});
Button Button12 = (Button) findViewById(R.id.Button12);
Button12.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "12");
startActivity(i);
}
});
Button Button13 = (Button) findViewById(R.id.Button13);
Button13.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "13");
startActivity(i);
}
});
Button Button14 = (Button) findViewById(R.id.Button14);
Button14.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "14");
startActivity(i);
}
});
Button Button15 = (Button) findViewById(R.id.Button15);
Button15.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "15");
startActivity(i);
}
});
Button Button16 = (Button) findViewById(R.id.Button16);
Button16.setOnClickListener(new View.OnClickListener() {
109
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "16");
startActivity(i);
}
});
Button Button17 = (Button) findViewById(R.id.Button17);
Button17.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "17");
startActivity(i);
}
});
Button Button18 = (Button) findViewById(R.id.Button18);
Button18.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "18");
startActivity(i);
}
});
Button Button19 = (Button) findViewById(R.id.Button19);
Button19.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "20");
startActivity(i);
}
});
Button Button20 = (Button) findViewById(R.id.Button20);
Button20.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "19");
110
startActivity(i);
}
});
Button Button21 = (Button) findViewById(R.id.Button21);
Button21.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
// Launching News Feed Screen
Intent i = new Intent(getApplicationContext(), DetailM.class);
i.putExtra("id", "21");
startActivity(i);
}
});
}
}
1.4. Listing Program Detail Majalah
package budi.cybermedia;
import java.io.FileNotFoundException;
import java.io.InputStream;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.content.Intent;
import android.content.res.AssetManager;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Matrix;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
public class DetailM extends Activity {
ImageView majalah;
InputStream istr;
AssetManager assetManager;
111
String[] vwhere = {"1"};
String where;
String link;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.detail_m);
String ids = this.getIntent().getStringExtra("id");
vwhere[0] = ids;
assetManager = getAssets();
majalah = (ImageView) findViewById(R.id.imageView1);
where = "id=?";
loadDB1();
addButtonClickListner();
}
public void addButtonClickListner()
{
Button btnNavigator = (Button)findViewById(R.id.button1);
btnNavigator.setOnClickListener(new OnClickListener(){
public void onClick(View arg)
{
Intent intent = new
Intent(Intent.ACTION_VIEW, Uri.parse(link));
startActivity(intent);
}
});
}
private void loadDB1(){
DataBaseHelper dataBaseHelper = new DataBaseHelper(this);
String provi = "";
try{
String[] rows = {"judul", "gambar","link"};
Cursor c = dataBaseHelper.selectDataBase("cymed", rows, "id=?" ,
vwhere, null, null, null, null);
Log.d("Database", c.toString());
if (c != null){
int judul = c.getColumnIndex("judul");
int gambar = c.getColumnIndex("gambar");
int slink = c.getColumnIndex("link");
if (c.isFirst()){
112
Log.d("log d", "cek provinsi "+c.getString(judul));
TextView txt = (TextView) findViewById(R.id.text);
txt.setText(c.getString(judul));
link =c.getString(slink);
majalah.setImageBitmap(getBitmapFromAsset(c.getString(gambar) + ".png"));
}
}
}catch(Exception e){
e.printStackTrace();
}
}
public Bitmap getBitmapFromAsset(String strName) {
AssetManager assetManager = getAssets();
InputStream istr = null;
try {
try {
istr = assetManager.open(strName);
} catch (FileNotFoundException e) {
istr = assetManager.open("noimage.png");
}
} catch (Exception e) {
// TODO: handle exception
}
Bitmap bitmap = BitmapFactory.decodeStream(istr);
int Height = bitmap.getHeight();
int Width = bitmap.getWidth();
float scale = getResources().getDisplayMetrics().density;
int dip = (int) (40 * scale + 0.5f);
int newHeight = Width - dip;
int newWidth = Width - dip;
float scaleWidth = ((float) newWidth) / Width;
float scaleHeight = ((float) newHeight) / Height;
Matrix matrix = new Matrix();
matrix.postScale(scaleWidth, scaleHeight);
Bitmap resizedBitmap = Bitmap.createBitmap(bitmap, 0, 0, Width, Height,
matrix, true);
return resizedBitmap;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu, menu);
return true;
}
113
}
1.5. Listing Program Menu Berita
package budi.cybermedia;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.XMLReader;
import android.app.ListActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
public class AndroidRssReader extends ListActivity {
private RSSFeed myRssFeed = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_android_rss_reader);
try {
URL rssUrl = new URL(
"http://blog.internetclub.or.id/rss");
SAXParserFactory mySAXParserFactory = SAXParserFactory
.newInstance();
SAXParser mySAXParser = mySAXParserFactory.newSAXParser();
XMLReader myXMLReader = mySAXParser.getXMLReader();
RSSHandler myRSSHandler = new RSSHandler();
myXMLReader.setContentHandler(myRSSHandler);
InputSource myInputSource = new InputSource(rssUrl.openStream());
114
myXMLReader.parse(myInputSource);
myRssFeed = myRSSHandler.getFeed();
} catch (MalformedURLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (myRssFeed != null) {
TextView feedTitle = (TextView) findViewById(R.id.feedtitle);
TextView feedDescribtion = (TextView) findViewById(R.id.feeddescribtion);
TextView feedPubdate = (TextView) findViewById(R.id.feedpubdate);
TextView feedLink = (TextView) findViewById(R.id.feedlink);
feedTitle.setText(myRssFeed.getTitle());
feedDescribtion.setText(myRssFeed.getDescription());
feedPubdate.setText(myRssFeed.getPubdate());
feedLink.setText(myRssFeed.getLink());
//feedurlimage.setImageBitmap(bm)(myRssFeed.geturlimage());
ArrayAdapter<RSSItem> adapter = new ArrayAdapter<RSSItem>(this,
android.R.layout.simple_list_item_1, myRssFeed.getList());
setListAdapter(adapter);
}
}
@Override
protected void onListItemClick(ListView l,View v, int position,long id){
Intent intent = new Intent (this,ShowDetails.class);
Bundle bundle = new Bundle();
bundle.putString("keyTitle", myRssFeed.getItem(position).getTitle());
bundle.putString("keyDescription", myRssFeed.getItem(position).getDescription());
bundle.putString("keyPubdate", myRssFeed.getItem(position).getPubdate());
bundle.putString("keyLink", myRssFeed.getItem(position).getLink());
bundle.putString("keyurlimage", myRssFeed.getItem(position).geturlimage());
intent.putExtras(bundle);
startActivity(intent);
}
}
115
1.6. Listing Program Sub Menu Berita
package budi.cybermedia;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.widget.TextView;
public class ShowDetails extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.details);
Bundle bundle = this.getIntent().getExtras();
String htmlPre = "<!DOCTYPE html><html lang=\"en\"><head><meta
charset=\"utf-8\"></head><body style='margin:0; pading:0; background-color: white;'>";
String htmlCode = "<h1>"+bundle.getString("keyTitle")+"</h1></br>"+
bundle.getString("keyDescription")+"</br>"+bundle.getString("keyPubdate")+"</br
>"+
"<a href='"+bundle.getString("keyLink")+"'>Read
More</a>"
;
String htmlPost = "</body></html>";
WebView webView = (WebView)findViewById(R.id.webView1);
webView.loadDataWithBaseURL("null", htmlPre+htmlCode+htmlPost,
"text/html", "UTF-8", null);
}
}
1.7. Listing Program Menu Tentang
package budi.cybermedia;
import android.os.Bundle;
import android.app.Activity;
import android.app.ProgressDialog;
import android.util.Log;
public class Tentang extends Activity {
116
protected ProgressDialog progressDialog;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
progressDialog = ProgressDialog.show(Tentang.this,"Harap Tunggu . . .", "System
Sedang Memproses");
new Thread(){
public void run() {
try{
sleep(2000);
}
catch (Exception e) {
Log.e("tag",e.getMessage());
}
progressDialog.dismiss();
}
}.start();
setContentView(R.layout.tentang);
}
}
1.8. Listing Program Tampilan Splashscreen
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splashcymed"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Splash" >
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="46dp" />
</RelativeLayout>
1.9. Listing Program Tampilan Menu Utama
117
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/backgroundcymed"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".Pertama" >
<Button
android:id="@+id/btnkedua"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="108dp"
android:text="Majalah"
android:textStyle="bold" />
<Button
android:id="@+id/btnkeempat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btketiga"
android:layout_below="@+id/btketiga"
android:layout_marginTop="23dp"
android:text="Tentang Cyber Media"
android:textStyle="bold" />
<Button
android:id="@+id/btnexit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btnkeempat"
android:layout_below="@+id/btnkeempat"
android:layout_marginTop="22dp"
android:text="Keluar"
android:textStyle="bold" />
<Button
android:id="@+id/btketiga"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/btnkedua"
android:layout_below="@+id/btnkedua"
android:layout_marginTop="21dp"
android:text="Berita"
android:textStyle="bold" />
118
</RelativeLayout>
1.10. Listing Program Tampilan Menu Majalah
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/widget0"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ScrollView
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<AbsoluteLayout
android:id="@+id/AbsoluteLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<Button
android:id="@+id/Button06"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="211dp"
android:layout_y="86dp"
android:background="@drawable/cymeda6" />
<Button
android:id="@+id/Button05"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="114dp"
android:layout_y="86dp"
android:background="@drawable/cymeda5" />
<Button
android:id="@+id/Button04"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="16dp"
android:layout_y="86dp"
android:background="@drawable/cymeda4" />
<Button
android:id="@+id/Button09"
android:layout_width="76dp"
android:layout_height="79dp"
119
android:layout_x="209dp"
android:layout_y="177dp"
android:background="@drawable/cymeda9" />
<Button
android:id="@+id/Button08"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="116dp"
android:layout_y="179dp"
android:background="@drawable/cymeda8" />
<Button
android:id="@+id/Button07"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="19dp"
android:layout_y="179dp"
android:background="@drawable/cymeda7" />
<Button
android:id="@+id/Button12"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="214dp"
android:layout_y="269dp"
android:background="@drawable/cymeda12" />
<Button
android:id="@+id/Button11"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="119dp"
android:layout_y="271dp"
android:background="@drawable/cymeda11" />
<Button
android:id="@+id/Button02"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="118dp"
android:layout_y="4dp"
android:background="@drawable/cymeda2" />
<Button
android:id="@+id/Button03"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="216dp"
android:layout_y="5dp"
android:background="@drawable/cymeda3" />
120
<Button
android:id="@+id/Button15"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="211dp"
android:layout_y="363dp"
android:background="@drawable/cymedb16" />
<Button
android:id="@+id/Button14"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="119dp"
android:layout_y="363dp"
android:background="@drawable/cymedb15" />
<Button
android:id="@+id/Button18"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="215dp"
android:layout_y="455dp"
android:background="@drawable/cymedb18" />
<Button
android:id="@+id/Button21"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="215dp"
android:layout_y="549dp"
android:background="@drawable/cymedb21" />
<Button
android:id="@+id/Button17"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="120dp"
android:layout_y="458dp"
android:background="@drawable/cymedb17" />
<Button
android:id="@+id/Button20"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="121dp"
android:layout_y="549dp"
android:background="@drawable/cymedb20" />
<Button
android:id="@+id/Button19"
android:layout_width="76dp"
android:layout_height="79dp"
121
android:layout_x="26dp"
android:layout_y="553dp"
android:background="@drawable/cymedb19" />
<Button
android:id="@+id/Button10"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="15dp"
android:layout_y="275dp"
android:background="@drawable/cymeda10" />
<Button
android:id="@+id/Button13"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="25dp"
android:layout_y="367dp"
android:background="@drawable/cymedb14" />
<Button
android:id="@+id/Button16"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="25dp"
android:layout_y="462dp"
android:background="@drawable/cymedb16" />
<Button
android:id="@+id/Button01"
android:layout_width="76dp"
android:layout_height="79dp"
android:layout_x="16dp"
android:layout_y="4dp"
android:background="@drawable/cymeda1" />
</AbsoluteLayout>
</ScrollView>
</LinearLayout>
1.11. Listing Program Tampilan Sub Menu Majalah
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
122
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal" >
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="81dp"
android:text="Download" />
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/button1"
android:layout_centerHorizontal="true"
android:layout_marginBottom="37dp"
android:src="@drawable/cymed1" />
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_alignRight="@+id/button1"
android:layout_marginTop="19dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge"
/>
</RelativeLayout>
1.12. Listing Program Tampilan Berita
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/feedtitle" />
<TextView
android:layout_width="fill_parent"
123
android:layout_height="wrap_content"
android:id="@+id/feeddescribtion" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:id="@+id/feedpubdate" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoLink="web"
android:id="@+id/feedlink" />
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
<TextView
android:id="@android:id/empty"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="No Data" />
</LinearLayout>
1.13. Listing Program Tampilan Tentang
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/tentangcymed" >
</RelativeLayout>