Pemrograman Multimedia – Aplikasi Konten Multimedia Berbasis Android

Pemrograman Multimedia – Aplikasi Konten Multimedia Berbasis Android

DEFINISI
Multimedia adalah penggunaan komputer untuk menyajikan dan menggabungkan teks, suara, gambar, animasi dan video dengan alat bantu (tool) dan koneksi (link) sehingga pengguna dapat melakukan navigasi, berinteraksi, berkarya dan berkomunikasi. Multimedia sering digunakan dalam dunia hiburan. Selain dari dunia hiburan, Multimedia juga diadopsi oleh dunia game.

Multimedia dimanfaatkan juga dalam dunia pendidikan dan bisnis. Di dunia pendidikan, multimedia digunakan sebagai media pengajaran, baik dalam kelas maupun secara sendiri-sendiri. Di dunia bisnis, multimedia digunakan sebagai media profil perusahaan, profil produk, bahkan sebagai media kios informasi dan pelatihan dalam sistem e-learning.

Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.

MEMULAI PROJECT

Struktur Navigasi

navigasi-mul

Disini saya membuat sebuah aplikasi multimedia dengan diagram navigasi yang terdiri dari HALAMAN AWAL (Home), HALAMAN MENU (Multimedia), kemudian didalam halaman awal terdapat 3 option yaitu About, Multimedia, dan Exit. Sedagkan didalam halaman menu terdapat 5 option yaitu Text, Gambar, Audio, Video, Animasi.

Membuat Project
Pertama kita buka Eclipse, kemudian File -> New -> Android Project
Kemudian saya isikan datanya sebagai berikut :
Project Name : Multimedia Daru
Built Target : Android 2.2
Application Name : Multimedia Daru
Package Name : com.multimedia.content
Create Activity :
Min SDK Version : 8
Kemudian saya Finish dan hasilnya akan muncul seperti gambar berikut ini :

Setelah itu muncul halaman packagenya, kemudian kita bikin beberapa file class dan file xml seperti berikut ini :

Home.java

package com.multimedia.content;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
publicclass home extends Activity implements OnClickListener {
      Context ctx = this;
      /** Called when the activity is first created. */
      @Override
      publicvoid onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            View enterButton =
      findViewById(R.id.button_enter);
            enterButton.setOnClickListener(this);
            View aboutButton =
      findViewById(R.id.button_about);
            aboutButton.setOnClickListener(this);
            View exitButton =
      findViewById(R.id.button_exit);
            exitButton.setOnClickListener(this);
      }
      publicvoid onClick(View v) {
            switch (v.getId()){
            case R.id.button_enter:
      Intent Enter = new Intent(this, pilihan.class);
      startActivity(Enter);
      break;            
            case R.id.button_about:
                  AlertDialog.Builder builder = new AlertDialog.Builder(this);
            builder.setMessage("Aplikasi multimedia yang menarik yang dibuat oelh :\n" +
                        "\n" +
                        "\n" +
                        "Nama : Andaru Amanda\n" +
                        "NPM   : 50408099\n" +
                        "Kelas  : 4IA06")
                              .setCancelable(false)
                              .setPositiveButton("OK",
                                          new DialogInterface.OnClickListener() {
                                                publicvoid onClick(DialogInterface dialog,
                                                            int id) {
                                                      dialog.cancel();
                                                }
                                          });
       AlertDialog judul = builder.create();
       judul.setTitle("ABOUT");
       judul.setIcon(R.drawable.iconutama);
       judul.show();
                  break;
      case R.id.button_exit:
      Intent exit = new Intent(Intent.ACTION_MAIN);
            exit.addCategory(Intent.CATEGORY_HOME);
            exit.setFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
            startActivity(exit);   
             }
    }
       }

Main.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget0"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/bag1"
> 
<Button android:text="Exit" 
android:layout_width="51px"
android:layout_height="49px"
android:id="@+id/button_exit"
android:layout_x="252dip"
android:layout_y="310dip">
</Button>

<Button android:text="About" 
android:layout_width="62px"
android:layout_height="49px"
android:id="@+id/button_about"
android:layout_x="0dip"
android:layout_y="310dip">
</Button>

<Button
android:text="Multimedia"
android:layout_width="137px"
android:layout_height="49px"
android:id="@+id/button_enter"
android:layout_x="76dip"
android:layout_y="310dip">
</Button>

<TextView
android:layout_width="wrap_content"
android:layout_height="16px"
android:id="@+id/widget34"
android:textColor="#ff000000"
android:text="Please Option"
android:layout_x="118dip"
android:layout_y="280dip">
</TextView>
</AbsoluteLayout>

Audio.java

package com.multimedia.content;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.view.View.OnClickListener;
import android.widget.AdapterView;

publicclass audio extends Activity implements OnClickListener{
    /** Called when the activity is first created. */    
    @SuppressWarnings("unchecked")
      publicvoid onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.audio);    
          ListView l = (ListView) findViewById(R.id.ListView);
          ArrayAdapter adapter = ArrayAdapter.createFromResource(
                this, R.array.audio_array, android.R.layout.simple_dropdown_item_1line);
          l.setAdapter(adapter);
          l.setOnItemClickListener(new AdapterView.OnItemClickListener()          
          {            
          publicvoid onItemClick(AdapterView<?> parent, View view, int position, long id) {
          if(position == 0) {
          Intent intent = new Intent(getApplicationContext(), home.class);
            startActivity(intent);
          }             
    }
      });
              }
       @Override
      publicvoid onClick(View arg0) {
            // TODO Auto-generated method stub            
      } }

Audio.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/widget38"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/bag3">

<ListView
android:id="@+id/ListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
> 
</ListView>
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
> 
</LinearLayout>
</LinearLayout>

Gambar.java

package com.multimedia.content;

import android.app.Activity;
import android.os.Bundle;
import android.content.Context;
      import android.content.res.TypedArray;
      import android.view.View;
      import android.view.ViewGroup;
      import android.widget.AdapterView;
      import android.widget.BaseAdapter;
      import android.widget.Gallery;
      import android.widget.ImageView;
      import android.widget.Toast;
import android.widget.AdapterView.OnItemClickListener;

publicclass gambar extends Activity {
    /** Called when the activity is first created. */   
  //---Daftar Gambar yang ingin Ditampilkan---
          Integer[] list_image = {
                  R.drawable.a,
                  R.drawable.b,
                  R.drawable.c,
                  R.drawable.d,
                  R.drawable.e,
                  R.drawable.f,
                  R.drawable.g,
                  R.drawable.h,
          };
          String[] 
                 fruit_name = 
                 {"Baju A",
                  "Baju B",
                  "Baju C",
                  "Baju D",
                  "Baju E",
                  "Baju F",
                  "Baju G",
                  "Baju H",
                  };     
          @Override
          publicvoid onCreate(Bundle savedInstanceState)
          {
              super.onCreate(savedInstanceState);
              setContentView(R.layout.gambar);       
              Gallery gallery = (Gallery) findViewById(R.id.gallery1);       
              gallery.setAdapter(new ImageAdapter(this));
              gallery.setOnItemClickListener(new OnItemClickListener()
              {
                  @SuppressWarnings("unchecked")
                              publicvoid onItemClick(AdapterView parent,
                  View v, int position, long id)
                  {
                      Toast.makeText(getBaseContext(),
                             fruit_name[position],
                              Toast.LENGTH_SHORT).show();       
                  }
              });
        }       
          publicclass ImageAdapter extends BaseAdapter
          {
              private Context context;
              privateintitemBackground;       
              public ImageAdapter(Context c)
            {
                  context = c;
                  //---setting the style---
                  TypedArray a = obtainStyledAttributes(R.styleable.GalleryBajuBola);
                  itemBackground = a.getResourceId(R.styleable.GalleryBajuBola_android_galleryItemBackground, 0);
                  a.recycle();
              }       
              //---returns the number of images---
              publicint getCount() {
                  returnlist_image.length;
              }       
              //---returns the ID of an item---
              public Object getItem(int position) {
                  return position;
              }       
              publiclong getItemId(int position) {
                  return position;
              }     
              //---returns an ImageView view---
              public View getView(int position, View convertView, ViewGroup parent) {
                  ImageView imageView = new ImageView(context);
                  imageView.setImageResource(list_image[position]);
                  imageView.setScaleType(ImageView.ScaleType.FIT_XY);
                  imageView.setLayoutParams(new Gallery.LayoutParams(240, 150));
                  imageView.setBackgroundResource(itemBackground);
                  return imageView;
              }
          }
      }

Gambar.xml

<?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"
    android:background="@drawable/bag3"
    >
<TextView  
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="ALBUM"
    />
<Gallery
        android:id="@+id/gallery1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
<ImageView
        android:id="@+id/image1"
        android:layout_width="320px"
        android:layout_height="250px"
              android:scaleType="fitXY" />
</LinearLayout>

Pilihan.java

package com.multimedia.content;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

publicclass pilihan extends Activity implements OnClickListener {      
      Context ctx = this;
      /** Called when the activity is first created. */
      @Override
      publicvoid onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main1);            
            View textButton =
      findViewById(R.id.button_text);
            textButton.setOnClickListener(this);
            View gambarButton =
      findViewById(R.id.button_gambar);
            gambarButton.setOnClickListener(this);
            View audioButton =
      findViewById(R.id.button_audio);
            audioButton.setOnClickListener(this);
            View videoButton =
      findViewById(R.id.button_video);
            videoButton.setOnClickListener(this);
            View animasiButton =
      findViewById(R.id.button_animasi);
            animasiButton.setOnClickListener(this);
      }
      publicvoid onClick(View v) {
            switch (v.getId()){            
            case R.id.button_text:
                  Intent text = new Intent(this, text.class);
                  startActivity(text);
                  break;
            case R.id.button_gambar:
            Intent gambar = new Intent(this, gambar.class);
            startActivity(gambar);
            break;
            case R.id.button_audio:
            Intent audio = new Intent(this, audio.class);
            startActivity(audio);
            break;
            case R.id.button_video:
            Intent video = new Intent(this, video.class);
            startActivity(video);
            break;
            case R.id.button_animasi:
            Intent animasi = new Intent(this, animasi.class);
            startActivity(animasi);
            break;    
             }
    }
       }

Main1.xml

<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget0"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/bag2"
android:layout_width="wrap_content" android:layout_height="match_parent">
<Button
android:text="TEXT"
android:layout_width="140px"
android:layout_height="48px"
android:id="@+id/button_text"
android:layout_x="105dip"
android:layout_y="40dip">
</Button>
<Button
android:text="GAMBAR"
android:layout_width="140px"
android:layout_height="48px"
android:id="@+id/button_gambar"
android:layout_x="105dip"
android:layout_y="99dip">
</Button>
<Button
android:text="AUDIO"
android:layout_width="140px"
android:layout_height="48px"
android:id="@+id/button_audio"
android:layout_x="105dip"
android:layout_y="158dip">
</Button>
<Button
android:text="VIDEO"
android:layout_width="140px"
android:layout_height="48px"
android:id="@+id/button_video"
android:layout_x="105dip"
android:layout_y="217dip">
</Button>
<Button android:text="ANIMASI" 
android:layout_width="140px"
android:layout_height="48px"
android:id="@+id/button_animasi"
android:layout_x="105dip"
android:layout_y="275dip">
</Button>
</AbsoluteLayout>

Text.java

package com.multimedia.content;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

publicclass text extends Activity implements OnClickListener {      
      Context ctx = this;
      /** Called when the activity is first created. */
      @Override
      publicvoid onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.text);            
      }
      @Override
      publicvoid onClick(View v) {
            // TODO Auto-generated method stub            
      }
       }

Text.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:background="@drawable/bag4"
> 
<ScrollView
android:id="@+id/ScrollView01"
android:layout_width="240px"
android:layout_height="300px"
android:layout_x="5px"
android:layout_y="38px"
>
<TextView
android:id="@+id/TextView"
android:layout_width="wrap_content"
android:layout_height="190dip"
android:text="@string/txt_1"
android:textColor="#000000"
> 
</TextView>
</ScrollView>
</LinearLayout>

Video.java

package com.multimedia.content;
import java.io.File;
import android.app.Activity;
import android.graphics.PixelFormat;
import android.os.Bundle;
import android.os.Environment;
import android.widget.MediaController;
import android.widget.VideoView;       
publicclass video extends Activity {
 
         private VideoView myvideo;
          private MediaController mediacontroller;       
          @Override
          publicvoid onCreate(Bundle icicle) {
        super.onCreate(icicle);
              getWindow().setFormat(PixelFormat.TRANSLUCENT);
              setContentView(R.layout.video);
              //akan membaca file samplevideo.3gp yang ada pada SDCARD (external memrory)
              File clip=new File(Environment.getExternalStorageDirectory(),"Sinkansen.3gp");
       
              //Jika file samplevideo.3gp  ditemukan maka video dapat dimainkan
              if (clip.exists()) { 
                  myvideo=(VideoView)findViewById(R.id.video);
                  myvideo.setVideoPath(clip.getAbsolutePath());
                  mediacontroller=new MediaController(this);
                  mediacontroller.setMediaPlayer(myvideo);
                  myvideo.setMediaController(mediacontroller);
                  myvideo.requestFocus();
                  myvideo.start();
              }
          }
      }

Video.xml

<?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"
              android:background="@drawable/bag3">
          <VideoView
         android:id="@+id/video" 
                  android:layout_width="fill_parent"
                  android:layout_height="fill_parent"
              />
</LinearLayout>

Animasi.java

package com.multimedia.content;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;

publicclass animasi extends Activity implements OnClickListener {      
      Context ctx = this;
      /** Called when the activity is first created. */
      @Override
      publicvoid onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.animasi);            
      }
      @Override
      publicvoid onClick(View v) {
            // TODO Auto-generated method stub
            
      }
       }

Setelah saya membuat file java dan xml, maka akan terbentuk package seperti berikut ini :

Dan yang terakhir jangan lupa kita buat folder “raw” yang berisi file audio dan video didalam folder res.

Dengan Demikian project konten multimedia ini selesai saya buat, maka output nya adalah seperti ini :

OUTPUT

Halaman Awal

Halaman About

Halaman Menu (Multimedia)

Halaman Text

Halaman Gambar

Halaman Audio

Halaman Video

Halaman Animasi

Dengan demikian tugas matakuliah PEMROGRAMAN MULTIMEDIA ini saya selesaikan.

Disusun Oleh :
ANDARU AMANDA
50408099
4IA06

2 thoughts on “Pemrograman Multimedia – Aplikasi Konten Multimedia Berbasis Android

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s