Rabu, 06 Mei 2015

Tugas Pemrograman Multimedia


PROGRAM REKAYASA PERANGKAT LUNAK
“Aplikasi Doa Harian Berbasis Android”

Nama kelompok : Aris Munandar (51411175)
                                Gilang Aditia (53411053)
Penjelasan aplikasi
                   Pada bagian ini akan membuat apilkasi sederhana tentang doa doa harian dalam islam, aplikasi ini adalah perpaduan antara suara dan image serta konsep-konsep dasar yang ada pada android.
                   Gambaran umum aplikasi ini adalah dimana doa-doa harian sudah dibuatkan dalam bentuk gambar dan suara-suara doa-doa hariannya sudah dibuat dalam bentuk mp3, jadi konsepnya doa dipilih akan menampilkan doa dalam bentuk gambar dan suara yang berisi bunyi dari doa yang dipilih tersebut

Proses pembuatan aplikasi
Langkah I
Persiapkan menu awal aplikasi dimana menu menampilkan gambar berikut:


Persiapkan menu aplikasi dimana menu menampilkan pilihan berikut:
·         Doa ber-sumber Al-Quran
·         Doa bersumber Hadits
·         Bantuan
·         About
·         Exit

Sementara submenu dari doa bersumber Al-Quran berisi pilihan berikut:
·         Doa agar diberi jodoh
·         Doa supaya diperlakukan adil
·         Doa agar diberi kemudahan urusan
·         Doa sapu jagad
·         Doa menghadapi lawan
·         Doa menjauhi kesesatan
·         Doa diberi keselamatan
·         Doa agar terhindar dari siksa neraka
·         Doa agar diberi limpahan rezeki
·         Doa agar mendapat kedudukan yang mulia

Kemudian submenu doa bersumber hadits berisi pilihan berikut:
·         Doa akan makan
·         Doa sesudah makan
·         Doa akan tidur
·         Doa bangun tidur
·         Doa masuk masjid
·         Doa keluar masjid
·         Doa masuk rumah
·         Doa keluar rumah
·         Doa masuk toilet
·         Doa keluar toilet

Dari uraian diatas kita emerlukan layout.xml sebagai berikut:
·         Menu.xml untuk layout tampilan menu utama pilihan
·         Menuhadits.xml untuk layout tampilan menu pilihan doa dari Hadits
·         Menuquran.xml untuk layout tampilan menu pilihan doa dari Al-Quran
·         D1.xml untuk layout tampilan dimana doa-doa dari Al-Quran ditampilkan
·         Dd1.xml untuk layout tampilan dimana doa-doa dari Hadits ditampilkan
Sementara kita memerlukan beberapa file java sebagai berikut:
·         Menu.java untuk handle tampilan menu awal
·         Menuhadits.java untuk handle tampilan menu pilihan doa-doa sumber dari Hadits
·         Menuquran.java untuk handle tampilan menu pilihan doa-doa sumber dari Al-Quran
·         About.java untuk  handle tampilan informasi aplikasi ini
·         Dan untuk konsep dasar untuk setiap doa kita buatkan  file  javanya (d1,d2...dd1,dd2).java

Langkah II coding layout tampilan
Menu.xml
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

android:id="@+id/label"
android:text="@+id/TextView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30px"/>

Menuhadits.xml
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
 

                   android:id="@+id/label"
                   android:text="@+id/TextView01"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:textSize="30px"/>

Menuquran.xml
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:layout_height="fill_parent">
 

                   android:id="@+id/label"
                   android:text="@+id/TextView01"
                   android:layout_width="wrap_content"
                   android:layout_height="wrap_content"
                   android:textColor= "#ff000000"
                   android:textSize="30px"/>

d1.xml
android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">

  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:background="#ffffffff"
  android:id="@+id/layar"
  android:layout_height="fill_parent" android:fadingEdge="vertical" android:scrollbars="vertical">


  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="fill_parent"
  android:background="#ffffffff"
  android:id="@+id/layar2"
  android:layout_height="fill_parent" android:fadingEdge="vertical" android:scrollbars="vertical">

      







Coding-an berikut ini adalah untuk menampilkan tombol play suara dari doa tersebut



Langkah III coding file java
Berikut adalah coding-an file javanya

Menu.java
package doa.islam;



import android.app.AlertDialog;


import android.app.ListActivity;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle; //import android.util.Log;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;


public class menu extends ListActivity {
  
  
   public void onCreate(Bundle icicle) {
                   super.onCreate(icicle);
                  
                                                                          

                   // Create an array of Strings, that will be put to our ListActivity
                   String[] menu = new String[] { "Do'a Bersumber Al Qur'an", "Do'a Bersumber Hadis","Bantuan", "About", "Exit" };
                  
                  
                   // Menset nilai array ke dalam list adapater sehingga data pada array
                   // akan dimunculkan dalam list
                   this.setListAdapter(new ArrayAdapter(this,
                                                   android.R.layout.simple_list_item_1, menu));
                                                   getListView().setBackgroundResource(R.drawable.bg);
                  
   }

   @Override
   /**method ini akan mengoveride method onListItemClick yang ada pada class List Activity
    * method ini akan dipanggil apabilai ada salah satu item dari list menu yang dipilih
    */
   protected void onListItemClick(ListView l, View v, int position, long id) {
                   super.onListItemClick(l, v, position, id);
                   // Get the item that was clicked
                   // Menangkap nilai text yang dklik
                   Object o = this.getListAdapter().getItem(position);
                   String pilihan = o.toString();
                   // Menampilkan hasil pilihan menu dalam bentuk Toast
                   tampilkanPilihan(pilihan);
                  
   }

   /**
    * Tampilkan Activity sesuai dengan menu yang dipilih
    *
    */
   protected void tampilkanPilihan(String pilihan) {
                   try {
                                   // Intent digunakan untuk sebagai pengenal suatu activity
                                   Intent i = null;
                                   if (pilihan.equals("Do'a Bersumber Al Qur'an")) {
                                                   i = new Intent(this, menuquran.class);
                                   } else if (pilihan.equals("Do'a Bersumber Hadis")) {
                                                   i = new Intent(this, menuhadis.class);
                                   } else if (pilihan.equals("Bantuan")) {
                                                   i = new Intent(this, help.class);
                                   } else if (pilihan.equals("About")) {
                                                   i = new Intent(this, about.class);
                                   } else if (pilihan.equals("Exit")) {
                                                   // Intent exit = new Intent(Intent.ACTION_MAIN);
                                                   // startActivity(exit);
                                                   AlertDialog.Builder builder = new AlertDialog.Builder(this);
                                                   builder.setMessage("Anda Yakin Ingin Menutup Aplikasi?")
                                                                                   .setCancelable(false).setPositiveButton("Ya",
                                                                                                                   new DialogInterface.OnClickListener() {
                                                                                                                                   public void onClick(DialogInterface dialog,
                                                                                                                                                                   int id) {
                                                                                                                                                   Intent exit = new Intent(
                                                                                                                                                                      Intent.ACTION_MAIN);
                                                                                                                                      exit.addCategory(Intent.CATEGORY_HOME);
                                                                                                                                                   exit
                                                                                                                                                                      .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                                                                                                                                                   startActivity(exit);
                                                                                                                                   }
                                                                                                                   }).setNegativeButton("Tidak",
                                                                                                                   new DialogInterface.OnClickListener() {
                                                                                                                                   public void onClick(DialogInterface dialog,
                                                                                                                                                                   int id) {
                                                                                                                                                   dialog.cancel();
                                                                                                                                   }
                                                                                                                   }).show();
                                  
                                   } else {
                                                   Toast.makeText(
                                                                                   this,
                                                                                   "Anda Memilih: " + pilihan
                                                                                                                   + " , Actionnya belum dibuat",
                                                                                   Toast.LENGTH_LONG).show();
                                   }
                                   startActivity(i);
                   } catch (Exception e) {
                                   e.printStackTrace();
                   }
   }
}

Berikut ini adalah file java yang menghandle untuk menampilkan doa makan serta untuk menampilkan suara/bunyi doa tersebut:

d1.java
package doa.islam;


import android.app.Activity;
import android.app.AlertDialog;


import android.view.View;
import android.widget.ImageButton;
import android.widget.ImageView;

import android.media.MediaPlayer;
import android.os.Bundle;

public class d1 extends Activity implements MediaPlayer.OnCompletionListener{
      /** Called when the activity is first created. */
  
   private ImageButton play;
   private ImageButton pause;
   private ImageButton stop;
   private MediaPlayer mp;
   private ImageView gambar;

   @Override
   public void onCreate(Bundle icicle) {
                   super.onCreate(icicle);
        setContentView(R.layout.d1);
       
       
        play=(ImageButton)findViewById(R.id.play);
                   pause=(ImageButton)findViewById(R.id.pause);
                   stop=(ImageButton)findViewById(R.id.stop);
                   gambar=(ImageView)findViewById(R.id.gambar);
                  
                   gambar.setImageResource(R.drawable.doaakanmakan);
                  
       
                  
                   play.setOnClickListener(new View.OnClickListener() {
                                   public void onClick(View view) {
                                                   play();
                                   }
                   });
                  
                   pause.setOnClickListener(new View.OnClickListener() {
                                   public void onClick(View view) {
                                                   pause();
                                   }
                   });
                  
                   stop.setOnClickListener(new View.OnClickListener() {
                                   public void onClick(View view) {
                                                   stop();
                                   }
                   });
                  
                   setup();
                     
                  
       
   }
  
   @Override
   public void onDestroy() {
                   super.onDestroy();
                  
                   if (stop.isEnabled()) {
                                   stop();
                   }
   }
  
   public void onCompletion(MediaPlayer mp) {
                   stop();
   }
  
  
  
   private void play() {
                   mp.start();
                  
                   play.setEnabled(false);
                   pause.setEnabled(true);
                   stop.setEnabled(true);
   }
  
   private void stop() {
                   mp.stop();
                   pause.setEnabled(false);
                   stop.setEnabled(false);
                  
                   try {
                                   mp.prepare();
                                   mp.seekTo(0);
                                   play.setEnabled(true);
                   }
                   catch (Throwable t) {
                                   goBlooey(t);
                   }
   }
  
   private void pause() {
                   mp.pause();
                  
                   play.setEnabled(true);
                   pause.setEnabled(false);
                   stop.setEnabled(true);
   }
  
   private void loadClip() {
                   try {
                                   mp=MediaPlayer.create(this, R.raw.doaakanmakan);
                                   mp.setOnCompletionListener(this);
                                  
                   }
                   catch (Throwable t) {
                                   goBlooey(t);
                   }
   }
  
  
   private void setup() {
                   loadClip();
                   play.setEnabled(true);
                   pause.setEnabled(false);
                   stop.setEnabled(false);
   }
  
   private void goBlooey(Throwable t) {
                   AlertDialog.Builder builder=new AlertDialog.Builder(this);
                  
                   builder
                                   .setTitle("Exception!")
                                   .setMessage(t.toString())
                                   .setPositiveButton("OK", null)
                                   .show();
   }

   
    }
  

    Penjelasan:

gambar.setImageResource(R.drawable.doaakanmakan);

gambar yang akan ditampilkan adalah image dengan nama file doaakanmakan.jpg
try {
                                   mp=MediaPlayer.create(this, R.raw.doaakanmakan);
                                   mp.setOnCompletionListener(this);
                                  
                   }
Begitu juga apabila tombol  play ditekan, file doakanmakan.mp3 akan dipanggil.
Gambar tersebut dan file mp3 tentunya harus sudah berada dalam package project kita seperti gambar berikut:

Jalankan aplikasi sehingga akan muncul seperti gambar berikut:

Scroll-kan layar sehingga tampilan bawah akan muncul untuk mendengarkan bunyi doa tersebut seperti gambar berikut:

Sumber:
Safaat H,Nazruddin.2012.Android"Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis Android".Bandung:Informatika


Tidak ada komentar:

Posting Komentar