Assalaamu 'Alaikum warohmatullooh wabarokaatuh

Niat dan Perbuatan

Niat adalah ukuran dalam menilai benarnya suatu perbuatan, oleh karenanya, ketika niatnya benar, maka perbuatan itu benar, dan jika niatnya buruk, maka perbuatan itu buruk.
~ Imam An Nawaw

Keutamaan Bulan Muharram


Hari-hari ini kita telah memasuki bulan Muharram tahun 1432 Hijriah. Seakan tidak terasa, waktu berjalan dengan cepat, hari berganti hari, pekan, bulan, dan tahun berlalu silih berganti seiring dengan bergantinya siang dan malam. Bagi kita, barangkali tahun baru ini tidak seberapa berkesan karena negara kita tidak menggunakan kalender Hijriah, tetapi Masehi. Dan yang akrab dalam keseharian kita adalah hitungan kalender Masehi. Tanggal lahir, pernikahan, masuk dan libur kantor dan sebagainya. Akan tetapi sebagai seorang muslim kita perlu untuk sejenak menghayati beberapa hal yang terkait dengan penanggalan Islam ini. Beberapa hal yang seyogyanya kita jadikan renungan itu adalah :

1. Syukur atas Usia yang diberikan Allah
Umur adalah nikmat yang diberikan Allah pada kita, dan jarang kita syukuri. Betapa banyak orang yang kita kenal, baik teman, sahabat , keluarga, guru, atau siapa pun yang kita kenal, tahun lalu masih hidup bersama kita. Bergurau, berkomunikasi, mengajar, menasehati atau melakukan aktifitas hidup sehari-hari, namun tahun ini dia telah tiada. Dia telah wafat, menghadap Allah Suhanahu wa ta’ala dengan membawa amal shalehnya dan mempertanggungjawabkan kesalahannya. Sementara kita saat ini masih diberi Allah kesempatan untuk bertaubat, memperbaiki kesalahan yang kita perbuat, menambah amal shaleh sebagai bekal menghadap Allah.
Umur yang kita hitung pada diri kita seringkali kita tetapkan berdasarkan hitungan kalender Masehi. Dan hitungan atau jumlah usia kita tentu akan lebih sedikit bila dibandingkan dengan hitungan yang mengacu pada kalender hijriyah. Sementara, lepas dari masalah ajal yang akan datang menjemput sewakatu-waktu, terkadang kita menganggap usia kita yang dibanding Rasulullah saw. yang wafat pada usia 63 tahun, kita merasa masih jauh dari angka itu. Padahal bisa jadi hitungan umur kita telah lebih banyak dari yang kita tetapkan. Karena itu sangat tidak layak apabila seseorang yang masih diberi kesehatan, kelapangan rizki dan kesempatan untuk beramal lalai bersyukur pada Allah dengan mengabaikan perintah-perintahNya serta sering melanggar larangan-laranganNya.

2. Muhasabah (introspeksi diri) dan istighfar.
Ini adalah hal yang penting dilakukan setiap muslim. Karena sebuah kepastian bahwa waktu yang telah berlalu tidak mungkin akan kembali lagi, sementara disadari atau tidak kematian akan datang sewaktu-waktu dan yang bermanfaat saat itu hanyalah amal shaleh. Apa yang sudah dilakukan sebagai bentuk amal shaleh? Sudahkah tilawah al-Qur’an, sedekah dan dzikir kita menghapuskan kesalahan-kesalahan yang kita lakukan? Malam-malam yang kita lewati, lebih sering kita gunakan untuk sujud kepada Allah, meneteskan air mata keinsyafan ataukah lebih banyak untuk begadang menikmati tayangan-tayangan sinetron, film dan sebagainya dari televisi? Langkah-langkah kaki kita, kemana kita gunakan? Dan sebagainya. Pertanyaan-pertanyaan semacam ini selayaknya menemani hati dan pikiran seorang muslim yang beriman pada Allah dan Hari Akhir, lebih-lebih dalam suasana pergantian tahun seperti sekarang ini. Pergantian tahun bukan sekedar pergantian kalender di rumah kita, namun peringatan bagi kita apa yang sudah kita lakukan tahun lalu, dan apa yang akan kita perbuat esok.
Allah berfirman :

(( يا أيها الذين آمنوا اتقوا الله ولتنظر نفس ما قدمت لغد واتقوا الله إن الله خبير بما تعملون ))

Hai orang-orang yang beriman, bertakwalah kepada Allah dan hendaklah Setiap diri memperhatikan apa yang telah diperbuatnya untuk hari esok (akhirat); dan bertakwalah kepada Allah, Sesungguhnya Allah Maha mengetahui apa yang kamu kerjakan. (QS. Al Hasyr: 18).

Ayat ini memperingatkan kita untuk mengevaluasi perbuatan yang telah kita lakukan pada masa lalu agar meningkat di masa datang yang pada akhirnya menjadi bekal kita pada hari kiamat kelak.
Rasulullah saw bersabda : "Orang yang cerdas adalah orang yang menghitung-hitung amal baik (dan selalu merasa kurang) dan beramal shaleh sebagai persiapan menghadapi kematian".
Dalam sebuah atsar yang cukup mashur dari Umar bin Khaththab ra beliau berkata :
"Hitunglah amal kalian, sebelum dihitung oleh Allah"

3. Mengenang Hijrah Rasulullah saw
Sebenarnya dalam kitab Tarikh Ibnu Hisyam dinyatakan bahwa keberangkatan hijrah Rasulullah dari Mekah ke Madinah adalah pada akhir bulan Shafar, dan tiba di Madinah pada awal bulan Rabiul Awal. Jadi bukan pada tanggal 1 Muharram sebagaimana anggapan sebagian orang. Sedangkan penetapan Bulan Muharram sebagai awal bulan dalam kalender Hijriyah adalah hasil musyawarah pada zaman Khalifah Umar bin Khatthab ra tatkala mencanangkan penanggalan Islam. Pada saat itu ada yang mengusulkan Rabiul Awal sebagai l bulan ada pula yang mengusulkan bulan Ramadhan. Namun kesepakatan yang muncul saat itu adalah bulan Muharram, dengan pertimbangan pada bulan ini telah bulat keputusan Rasulullah saw untuk hijrah pasca peristiwa Bai’atul Aqabah, dimana terjadi bai’at 75 orang Madinah yang siap membela dan melindungi Rasulullah SAW, apabila beliau datang ke Madinah. Dengan adanya bai'at ini Rasulullah pun melakukan persiapan untuk hijrah, dan baru dapat terealisasi pada bulan Shafar, meski ancaman maut dari orang-orang Qurais senantiasa mengintai beliau.
Peristiwa hijrah ini seyogyanya kita ambil sebagai sebuah pelajaran berharga dalam kehidupan kita. Betapapun berat menegakkan agama Allah, tetapi seorang muslim tidak layak untuk mengundurkan diri untuk berperan didalamnya. Rasulullah SAW, akan keluar dari rumah sudah ditunggu orang-orang yang ingin membunuhnya. Begitu selesai melewati mereka, dan harus bersembunyi dahulu di sebuah goa,masih juga dikejar, namun mereka tidak berhasil dan beliau dapat meneruskan perjalanan. Namun pengejaran tetap dilakukan, tetapi Allah menyelamatkan beliau yang ditemani Abu Bakar hingga sampai di Madinah dengan selamat. Allah menolong hamba yang menolong agamaNya. Perjalanan dari Mekah ke Madinah yang melewati padang pasir nan tandus dan gersang beliau lakukan demi sebuah perjuangan yang menuntut sebuah pengorbanan. Namun dibalik kesulitan ada kemudahan. Begitu tiba di Madianah, dimulailah babak baru perjuangan Islam. Perjuangan demi perjuangan beliau lakukan. Menyampaikan wahyu Allah, mendidik manusia agar menjadi masyarakat yang beradab dan terkadang harus menghadapi musuh yang tidak ingin hadirnya agama baru. Tak jarang beliau turut serta ke medan perang untuk menyabung nyawa demi tegaknya agama Allah, hingga Islam tegak sebagai agama yang dianut oleh sebagian besar penduduk dunia saat itu. Lalu sudahkah kita berbuat untuk agama kita?

4. Kalender Hijriyah adalah Kalender Ibadah kita
Barangkali kita tidak memperhatikan bahwa ibadah yang kita lakukan seringkali berkait erat dengan penanggalan Hijriyah. Akan tetapi hari yang istimewa bagi kebanyakan dari kita bukan hari Jum’at, melainkan hari Minggu. Karena kalender yang kita pakai adalah Kalender Masehi. Dan sekedar mengingatkan, hari Minggu adalah hari ibadah orang-orang Nasrani. Sementara Rasulullah saw menyatakan bahwa hari jum’at adalah sayyidul ayyam (hari yang utama diantara hari yang lain). Demikian pula penetapan hari raya kita, baik Idul Adha maupun Idul Fitri pun mengacu pada hitungan kalender Hijriyah. Wukuf di Arafah yang merupakan satu rukun dalam ibadah haji, waktunya pun berpijak pada kalender hijriah. Begitu pula awal Puasa Ramadhan, puasa ayyamul Bidh ( tanggal 13,14,15 tiap bulan) dan sebagainya mengacu pada Penanggalan Hijriah. Untuk itu seyogyanya bagi setiap muslim untuk menambah perhatiannya pada Kalender Islam ini.

5. Beberapa Keutamaan dan Peristiwa di Bulan Muharram
a. Bulan Haram
Muharram, yang merupakan bulan pertama dalam Kalender Hijriyah, termasuk diantara bulan-bulan yang dimuliakan (al Asy- hurul Hurum). Sebagaimana firman Allah Ta’ala :
"Sesungguhnya bilangan bulan di sisi Allah dua belas bulan, dalam ketetapan Allah diwaktu Dia menciptakan lanit dan bumi, diantaranya terdapat empat bulan haram." (Q.S. at Taubah :36).
Dalam hadis yang dari shahabat Abu Hurairah ra, Rasulullah saw bersabda :
“Sesungguhnya zaman itu berputar sebagaiman bentuknya semula di waktu Allah menciptakan langit dan bumi. Setahun itu ada dua belas bulan diantaranya terdapat empat bulan yang dihormati : 3 bulan berturut-turut; Dzul Qo’dah, Dzul Hijjah, Muharram dan Rajab Mudhar, yang terdapat diantara bulan Jumada tsaniah dan Sya’ban.” (HR. Bukhari dan Muslim)
Pada keempat bulan ini Allah melarang kaum muslimin untuk berperang. Dalam penafsiran lain adalah larangan untuk berbuat maksiat dan dosa. Namun bukan berarti berbuat maksiat dan dosa boleh dilakukan pada bulan-bulan yang lain.
Sebagaimana ayat Al Qur’an yang memerintahkan kita menjaga Shalat Wustha, yang banyak ahli Tafsir memahami shalat wustha adalah Shalat Ashar. Dalam hal ini, shalat Ashar mendapat perhatian khusus untuk kita jaga.
Firman Allah : "Peliharalah segala shalat mu, dan peliharalah shalat wustha" (Q.S. al Baqarah :238) Nama Muharram secara bahasa, berarti diharamkan. Maka kembali pada permasalahan yang telah dibahas sebelumnya, hal tersebut bermakna pengharaman perbuatan-perbuatan yang dilarang Allah memiliki tekanan khusus untuk dihindari pada bulan ini.

b. Bulan Allah
Bulan Muharram merupakan suatu bulan yang disebut sebagai “syahrullah” (Bulan Allah) sebagaimana yang disampaikan Rasulullah SAW, dalam sebuah hadis. Hal ini bermakna bulan ini memiliki keutamaan khusus karena disandingkan dengan lafdzul Jalalah (lafadz Allah). Para Ulama menyatakan bahwa penyandingan sesuatu pada yang lafdzul Jalalah memiliki makna tasyrif (pemuliaan), sebagaimana istilah baitullah, Rasulullah, Syaifullah dan sebagainya.
Rasulullah bersabda : “Puasa yang paling utama setelah Ramadhan adalah puasa di bula Allah (yaitu) Muharram. Sedangkan shalat yang paling utama setelah shalat fardhu adalah shalat malam”. (H.R. Muslim)

c. Sunnah Berpuasa
Di bulan Muharram ini terdapat sebuah hari yang dikenal dengan istilah Yaumul 'Asyuro, yaitu pada tanggal sepuluh bulan ini. Asyuro berasal dari kata Asyarah yang berarti sepuluh.
Pada hari Asyuro ini, terdapat sebuah sunah yang diajarkan Rasulullah saw. kepada umatnya untuk melaksanakan satu bentuk ibadah dan ketundukan kepada Allah Ta’ala. Yaitu ibadah puasa, yang kita kenal dengan puasa Asyuro. Adapun hadis-hadis yang menjadi dasar ibadah puasa tersebut, diantaranya :

1.Diriwayatkan dari Abu Qatadah ra, Rasulullah saw, bersabda :
“ Aku berharap pada Allah dengan puasa Asyura ini dapat menghapus dosa selama setahun sebelumnya.” (H.R. Bukhari dan Muslim)
2. Ibnu Abbas ra berkata :
"Aku tidak pernah melihat Rasulullah saw, berupaya keras untuk puasa pada suatu hari melebihi yang lainnya kecuali pada hari ini, yaitu hari as Syura dan bulan Ramadhan.” (H.R. Bukhari dan Muslim)
3. Ibnu Abbas ra berkata :
Ketika Rasulullah saw. tiba di Madinah, beliau melihat orang-orang Yahudi berpuasa pada hari‚ Asyura, maka Beliau bertanya : "Hari apa ini?. Mereka menjawab :“ini adalah hari istimewa, karena pada hari ini Allah menyelamatkan Bani Israil dari musuhnya, Karena itu Nabi Musa berpuasa pada hari ini. Rasulullah pun bersabda :
"Aku lebih berhak terhadap Musa daripada kalian“
Maka beliau nerpuasa dan memerintahkan shahabatnya untuk berpuasa. (H.R. Bukhari dan Muslim)
4.Dalam riwayat lain, Ibnu Abbas ra berkata :
Ketika Rasulullah saw. berpuasa pada hari asyura dan memerintahkan kaum muslimin berpuasa, mereka (para shahabat) berkata : "Ya Rasulullah ini adalah hari yang diagungkan Yahudi dan Nasrani". Maka Rasulullah pun bersabda :"Jika tahun depan kita bertemu dengan bulan Muharram, kita akan berpuasa pada hari kesembilan (tanggal sembilan).“ (H.R. Bukhari dan Muslim)
Imam Ahmad dalam musnadnya dan Ibnu Khuzaimah dalam shahihnya meriwayatkan sebuah hadis dari Ibnu Abbas ra, Rasulullah saw. bersabda : "Puasalah pada hari Asyuro, dan berbedalah dengan Yahudi dalam masalah ini, berpuasalah sehari sebelumnya atau sehari sesudahnya.“
Selain hadis-hadis yang menyebutkan tentang puasa di bulan ini, tidak ada ibadah khusus yang dianjurkan Rasulullah untuk dikerjakan di bulan Muharram ini.

Bagaimana Berpuasa di bulan Asyura ? Ibnu Qoyyim dalam kitab Zaadul Ma’aad –berdasarkan riwayat-riwayat yang ada- menjelaskan :
- Urutan pertama, dan ini yang paling sempurna adalah puasa tiga hari, yaitu puasa tanggal sepuluh ditambah sehari sebelum dan sesudahnya (9,10,11)
- Urutan kedua, puasa tanggal 9 dan 10. Inilah yang disebutkan dalam banyak hadits
- Urutan ketiga, puasa tanggal 10 saja.
Puasa sebanyak tiga hari (9,10,dan 11) dikuatkan para para ulama dengan dua alasan sebagai berikut :
1. Sebagai kehati-hatian, yaitu kemungkinan penetapan awal bulannya tidak tepat,maka puasa tanggal sebelasnya akan dapat memastikan bahwa seseorang mendapatkan puasa Tasu’a (tanggal 9) dan Asyuro (tanggal 10)
2. Dimasukkan dalam puasa tiga hari pertengahan bulan (Ayyamul bidh).
Adapun puasa tanggal 9 dan 10, dinyatakan jelas dalam hadis pada akhir hidup beliau sudah merencanakan yang shahih, dimana Rasulullah untuk puasa pada tanggal 9. hanya saja beliau meninggal sebelum melaksanakannya. Beliau juga memerintahkan para shahabat untuk berpuasa pada tanggal 9 dan tanggal 10 agar berbeda dengan ibadah orang-orang Yahudi.
Sedangkan puasa pada tanggal sepuluh saja, sebagian ulama memakruhkannya, meskipun pendapat ini tidak dikuatkan sebagian ulama yang lain.
Secara umum, hadits-hadis yang terkait dengan puasa Muharram menunjukkan anjuran Rasulullah saw untuk melakukan puasa,sekalipun itu hukumnya tidak wajib tetapi sunnah muakkadah, dan tetunya kita berusaha untuk menghidupkan sunnah yang telah banyak dilalaikan oleh kaum muslimin.

d. Diantara Peristiwa di Bulan Muharram
Pada tanggal 10 Muharram 61H, terjadilah peristiwa yang memilukan dalam di sebuah tempat cucu Rasulullah sejarah Islam, yaitu terbunuhnya Husein yang bernama Karbala. Peristiwa ini kemudian dikenal dengan “Peristiwa Karbala”. Pembunuhan tersebut dilakukan oleh pendukung Khalifah yang sedang berkuasa pada saat itu yaitu Yazid bin Mu’awiyah, meskipun sebenarnya Khalifah sendiri saat itu tidak menghendaki pembunuhan tersebut.
Peristiwa tersebut memang sangat tragis dan memilukan bagi siapa saja yang mengenang atau membaca kisahnya, , dan kita tentu mencintai dan apalagi terhadap orang yang dicintai Rasulullah memuliakannya. Namun musibah apapun yang terjadi dan betapapun kita sangat , hal itu jangan sampai membawa kita larut dalam mencintai keluarga Rasulullah kesedihan dan melakukan kegiatan-kegiatan sebagai bentuk duka dengan yang memukul-mukul diri, menangis apalagi sampai mencela shahabat Rasulullah tidak termasuk Ahli Bait (keluarga dan keturunan beliau). Yang mana hal ini biasa dilakukan suatu kelompok syi'ah yang mengaku memiliki kecintaan yang sangat tinggi terhadap Ahli Bait (Keluarga Rasulullah), pdahal kenyataanya tidak demikian.

e. Adat Istiadat di Tanah Air
Pada awal Muharram, yang sering dikenal dengan istilah 1 Suro, di tanah air sering diadakan acara ritual dan adat yang beraneka macam bahkan tidak jarang mengarah pada kesyirikan, seperti meminta berkah pada benda-benda yang dianggap keramat dan sakti, membuang sesajian ke laut agar Sang Dewi penjaga laut tidak marah dan lain sebagainya. Hal-hal semacam ini harus dihindari oleh setiap muslim dimanapun mereka berada.
Telah mengajarkan pada kita agar Rasulullah memiliki jati diri sebagai seorang Muslim dalam kehidupan. Jangan sampai seorang muslim mudah terbawa oleh budaya atau ritual agama lain dalam menjalankan ibadah pada Allah. Ajaran yang dibawa Rasulullah telah jelas dan sempurna tidak layak bagi kita untuk menambah atau menguranginya.
Karena sebaik-baik pedoman adalah kitabullah dan sebaik-baik petunjuk adalah petunjuk beliau, yang tidak ada keselamatan kecuali dengan berpegang kepada keduanya dengan mengikuti pemahaman para sahabat, tabi'in dan penerus mereka yang setia berpegang kepada sunnahnya dan meniti jalannya, adapun hal-hal baru dalam masalah agama adalah sesat sedangkan kesesatan itu akan menghantarkan ke neraka, wal'iyadzubillah.
Semoga kita selalu diberi taufiq dan dibimbing oleh Allah swt. Kejalan-Nya yang lurus serta mendapatkan keridhaan dan ampunany-Nya, amin ya rabbal 'alamin.

Internet Download Manager 6.03 Beta Full Crack



Internet Download Manager itu pasti tidak asing lagi dengan sobat semua kan...hehe...oke postingan kali ini mau share Internet Download Manager 6.03 Beta Full Crack, Internet Download Manager sangat penting buat kita yang penggila Download karena kalo pake software ini kita bisa pause download kita, jadi bisa di lanjutin besok atau seterusnya dan juga bisa resume,,dan yang tidak kalah pentingnya, dengan software ini download kita jadi lebih kenceng....hehe..
langsung saja download disini Klik disini Internet Download Manager v6.03 Beta Build 6 ekodokcell.rar - 3.9 MB



Download Winrar disini

Materi MobProg

PRAKTIKUM #1, #2

MERANCANG ANTARMUKA PENGGUNA (USER INTERFACE)



Teori Dasar Singkat :


User interface dapat dirancang menggunakan salah satu dari 2 cara, yaitu melalui perancangan procedural (procedural design) dan deklaratif (declarative design) . Disain prosedural mengandung arti dengan kode. Sebagai contoh, pada saat Anda membuat aplikasi Swing, Anda harus menulis kode untuk membuat dan memanipulasi semua objek user interface seperti JFrame dan JButton.
Dengan demikian Swing adalah prosedural. Sebaliknya, disain deklaratif tidak melibatkan kode. Misal, ketika Anda mendesain halaman Web, Anda menggunakan HTML, yakni markup language berbasis XML yang mendeskripsikan apa yang ingin Anda lihat pada halaman Web Anda. Bukan pada bagaimana yang ingin Anda lakukan untuk hal itu. Jadi HTML adalah deklaratif.
Android diciptakan untuk menghilangkan gap antara disain prosedural dan deklaratif dengan cara membolehkan Anda untuk membuat user interface melalui salah satu saja diantaranya. Artinya, Anda dapat menggunakan hampir seluruh disain dalam kode Java saja atau dalam XML descriptor. Jika Anda amati dokumentasi dari beberapa komponen user interface android, Anda akan temukan baik yang menggunakan API Java maupun deklarasi atribut XML, akan menghasilkan effek atau output yang sama.
Google menyarankan Anda untuk menggunakan deklarasi XML, karena kode XML lebih pendek dan lebih mudah dipahami daripada kode Java, serta memiliki kemungkinan yang kecil untuk berubah dalam versi-versi baru berikutnya.
Pada waktu Anda membuat sebuah projek android baru, Android eclipse plug-in secara default meng-create beberapa file yang dibutuhkan (Lihat Gambar 1). File-file tersebut selain file Java juga terdapat file lain seperti file grafik dan XML yang merupakan resource untuk aplikasi android Anda. Misalnya untuk mendefinisikan layout aplikasi, maka disediakan main.xml dan resource lain yang dapat Anda tambahkan tergantung keperluan atau jumlah activity yang akan membentuk aplikasi.
Semua file XML selalu diawali dengan baris <?xml version="1.0" encoding="utf-8"?>, baris ini memberitahukan kompiler bahwa file dalam format XML, ditulis dalam kode UTF-8. Selanjutnya, Anda akan temukan referensi ke <LinerLayout> :
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<-- ... -->
</LinearLayout>
Layout adalah container untuk satu atau lebih objek anak (child object) dan perilaku (behavior) untuk menempatkan atau mengatur posisi objek-ojek tersebut pada screen dalam area empat persegi panjang objek induk (parent object). Beberapa layout penting yang sering digunakan yang disediakan Android antara lain adalah :
o FrameLayout. Mengaturobjek anak sehingga seluruh objek diawali dari sudut kiri atas layar (screen). Layout ini biasanya digunakan untuk View Tab atau Image switcher
o LinearLayout. Menyusun objek anak dalam bentuk baris atau kolom tunggal. RelativeLayout. Mengatur objek anak dalam kaitannya dengan objek lain atau objek induk. Biasanya digunakan dalam Form.
o TableLayout. Mengatur objek anak dalam baris dan kolom, sama persis dengan tabel HTML.

Beberapa parameter atau atribut penting yang sering digunakan dalam layout adalah:
o xmlns:android = http://schemas.android.com/apk/res/android Mendefinisikan namespace XML untuk Android.
o android:layout_width, android:layout_height Menentukan lebar dan tinggi objek induk (dalam hal ini, window dari screen). Nilai yang mungkin adalah "fill_parent" atau "wrap_content"

o android:orientation Mendefinisikan orintasi layout, apakah layout akan berbasis kolom atau baris. Nilai "vertical" untuk kolom dan "horizontal" untuk baris.
o android:layout_gravity Konstanta gravity standar yang dapat diberikan objek anak ke objek induk.
o android:padding Setting empat sisi padding dalam pixel.

Latihan percobaan #1 :

1. Buatlah sebuah projek dengan nilai-nilai berikut :
Project name : MyGameUserInterface
Build Target : Android 2.2
Aplication name : MyGame #1
Package name : coba.praktikum.mygame
Create Activity : MyGameActivity
Min SDK Version : 8
Beberapa folder dan file yang di-generate secara otomatis :



Gambar 1. Initial resource untuk projek MyGameUserInterface


Default Source File : MyGameActivity.java
package coba.praktikum.mygame;
import android.app.Activity;
import android.os.Bundle;

public class MyGameActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}

Default Auto Generate File : R.java, mencatat semua resource ID yang digunakan aplikasi.
package coba.praktikum.mygame;
public final class R {
public static final class attr {
}
public static final class drawable {
public static final int icon=0x7f020000;
}
public static final class layout {
public static final int main=0x7f030000;
}
public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}

2. Ubah layout default main.xml :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout mlns: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:text="@string/hello"/>
</LinearLayout>

Tambahkan beberapa tombol (button) dan teks, sehingga main.xml untuk aplikasi user interface Anda terlihat menjadi seperti berikut :

<?xml version="1.0"encoding="utf-8"?>
<LinearLayout mlns: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:text="@string/main_title"/>

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/continue_label">
</Button>

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/new_game_label">
</Button>

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/about_label">
</Button>

<Button android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/exit_label">
</Button>
</LinearLayout>

3. Ubahlah nilai default pada strings.xml :

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, MyGameActivity!</string>
<string name="app_name">MyGame #1</string>
</resources>

Hapus string bernama hello, gantilah dengan string-string berikut :

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">MyGame #1</string>
<string name="main_title">ANDROID GAME</string>
<string name="continue_label">Continue Game</string>
<string name="new_game_label">New Game</string>
<string name="about_label">About Game</string>
<string name="exit_label">Exit Game</string>
</resources>

Simpan string.xml sehingga eclipse akan me-rebuild projek Anda. Pastikan bahwa ID string baru ditambahkan Android eclipse plug-in secara otomatis pada R.java. Dalam file akan terlihat seperti berikut :
public static final int about_label=0x7f040004;
public static final int app_name=0x7f040000;
public static final int continue_label=0x7f040002;
public static final int exit_label=0x7f040005;
public static final int main_title=0x7f040001;
public static final int new_game_label=0x7f040003;

4. Jalankan program



Gambar. 2 Versi pertama opening screen aplikasi MyGame #1



Latihan percobaan #2 :

Pada latihan percobaan lalu Anda telah membuat user interface untuk game Anda, cukup menarik, tetapi Anda dapat membuatnya lebih menarik lagi dengan menggunakan beberapa perubahan kosmetik seperti yang akan Anda lakukan latihan ini.
Agar tampilan user interface menjadi lebih menarik, Anda harus mengubah teks judul menjadi berwarna, lebih besar dan center, membuat tombol (button) lebih kecil, serta warna background yang lain. Oleh karena itu, berikut ini adalah pendefinisian warna dan dimensi huruf yang harus Anda letakkan di dalam /res/values/color.xml dan /res/values/dimen.xml.

color.xml :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="background">#1a1a48</color>
<color name="title_color">#ffff0f</color>
</resources>

dimen.xml :
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<dimen name="title_size">10pt</dimen>
</resources>
1. Buatlah file color.xml dalam subdirektori /res/values. Buka file dan salin kode di atas ke dalam file, dan Save file.
2. Buatlah file dimen.xml dalam subdirektori /res/value. Buka file dan salin kode di atas ke dalam file, dan Save file.

3. Modifikasi main.xml sehingga isinya terlihat seperti berikut :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@color/background"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="30dip" >
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:text="@string/main_title"
android:textColor="@color/title_color"
android:textSize="@dimen/title_size"
android:layout_marginBottom="25dip" />
<Button
android:id="@+id/continue_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/continue_label" >
</Button>
<Button
android:id="@+id/new_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/new_game_label" >
</Button>
<Button
android:id="@+id/about_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/about_label" >
</Button>
<Button
android:id="@+id/exit_button"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/exit_label" >
</Button>
</LinearLayout>
</LinearLayout>

Pada latihan ini Anda diperkenalkan dengan sebuah sintaks baru @+id/resid, digunakan untuk membuat resource ID sebuah objek yang dapat diacu objek lain. Misal @+id/about_button, artinya Anda mendefinisikan resource ID untuk tombol About, yang nantinya akan Anda gunakan untuk membuat sesuatu akan terjadi jika user memilih atau menekan tombol tersebut.

4. Jalankan program. Hasilnya akan tampak seperti Gambar. 3 di bawah :



Gambar. 3 Opening screen dengan layout baru



Screen baru ini dalam modus portrait, tampak lebih bagus, namun terlihat antara lebar dan tinggi screen tidak seimbang. Bagaimana jika orientasi screen tersebut Anda ubah ke dalam modus landscape (wide screen)?. Coba tekan Ctrl + F11. Apa yang yang Anda lihat? Bujubuneng!. Untuk memperbaiki keadaan ini, maka disain layout aplikasi Anda harus disesuaikan, sehingga cocok untuk berbagai orientasi baik dalam modus portrait maupun wide screen. Silahkan lakukan latihan percobaan berikutnya.

Latihan percobaan #3 :

Pada latihan sebelumnya, Anda telah membuat antarmuka untuk opening screen aplikasi dalam satu kolom button secara vertikal. Pada latihan percobaan ini Anda akan menggunakan control , TableLayout untuk membuat button antarmuka opening screen aplikasi game Anda menjadi dua kolom.

Modifikasi main.xml sehingga terlihat seperti berikut :

<?xml version= "1.0" encoding= "utf-8" ?>
<LinearLayout xmlns:android= "http://schemas.android.com/apk/res/android"
android:background = "@color/background"
android:orientation = "horizontal"
android:layout_width = "fill_parent"
android:layout_height = "fill_parent"
android:padding = "15dip" >
<LinearLayout
android:orientation = "vertical"
android:layout_width = "fill_parent"
android:layout_height = "wrap_content"
android:layout_gravity = "center"
android:paddingLeft = "20dip"
android:paddingRight = "20dip" >
<TextView
android:layout_width= "wrap_content"
android:layout_height = "wrap_content"
android:layout_gravity = "center"
android:text = "@string/main_title"
android:textColor = "@color/title_color"
android:textSize = "@dimen/title_size"
android:layout_marginBottom = "20dip" />

<TableLayout
android:layout_width= "wrap_content"
android:layout_height= "wrap_content"
android:layout_gravity= "center"
android:stretchColumns= "*" >
<TableRow>
<Button
android:id = "@+id/continue_button"
android:text = "@string/continue_label" >
</Button>
<Button
android:id = "@+id/new_button"
android:text = "@string/new_game_label" >
</Button>
</TableRow>
<TableRow>
<Button
android:id = "@+id/about_button"
android:text = "@string/about_label" >
</Button>
<Button
android:id = "@+id/exit_button"
android:text = "@string/exit_label" >
</Button>
</TableRow>
</TableLayout>
</LinearLayout>
</LinearLayout>

Jalankan program dan pastikan opening screen Anda seperti Gambar 4 berikut:



Gambar. 4 Opening screen dengan layout baru dalam modus portrait



Tugas Praktikum :

Tampilkan teks pada opening screen yang menunjukkan version dari aplikasi game Anda seperti yang
terlihat pada Gambar berikut :



Gunakan kontrol TextView dengan atribut-atribut sebagai berikut :

Attribute Value
android:layout_width ”fill_parent”
android:layout_height ”fill_parent”
android:layout_gravity ”center”
android:gravity ”center”
android:text ”@string/version_label”
android:textColor ”@color/version_color”
android:textSize ”@dimen/version_size”
android:lineSpacingExtra ”@dimen/version_spacing”
android:layout_marginTop ”20dip”

Menjalankan tombol About Game

Ketika user memilih tombol about, anda akan menampilkan pop-up windows yg disertai keterangan mengenai game anda. Untuk keperluan ini anda harus mendefinisikan sebuah activity baru ( About Activity ).
Langkahnya sbb:
1. Membuat AboutActivity.java
a. pada eclipse package explorer, sorot/src/coba.praktikum.mygame, klik kanan, pilih new -> class. Kemudian pd kotak dialog New Java Class isi name dgn AboutActivity. Kemudian finish.
b. Buka AboutActivity.java, selanjutnya override onCreate() dan panggil setContentView() sehingga seperti berikut ini :

Package coba.praktikum.mygame;
Import android.app.activity;
Import android.os.Bundle;
Public class AboutActivity extends Activity {
@Override
Protected void onCreate(Bundle savedInstanceState) {
Super.onCreateView(R.layout.about);
}
}

2. Buat file layout baru dlm dir. res/layout dgn nama about.xml, modifikasi file ini hingga terlihat seperti berikut :

<?xml version= "1.0" encoding= "utf-8" ?>
<ScrollView
xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:padding=”10dip” >
<TextView
android:id=”@+id/about_dialog_box”
android:layout_width= "wrap_content"
android:layout_height = "wrap_content"
android:text = "@string/about_text" >
</TextView>
</ScrollView>

3. Buka file res/values/string.xml, tambahkan string untuk judul dan isi kotak dialog About atau pop-up windows anda :

<string name=”about_title”>Tentang Android Game</string>
<string name=”about_text”> Android Game merupakan sebuah permainan yang dibuat oleh komunitas mahasiswa STMIK KHARISMA KARAWANG pecinta Android…</string>

Selanjutnya hubungkan dengan activity utama MyGameActivity dgn cara menambahkan import kedlm MyGame Activity.java, dan dlm method onCreate() tambahkan kode untuk memanggil findViewById() untuk menetukan view android yg akan diberikan resource-ID masing-masing tombol, dan setOnClickListener() untuk memberitahukan android mengenai objek-objek manasaja yg tergelitik ketika user menyentuh dan menekan tombol.

4. Buka MyGameActivity.java, edit file sehingga hasilnya seperti ini :

import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.view.view;
import android.view.view.onClickListener;

public class MyGameActivity extends Activity implements onClickListener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//**menyiapkan click listener untuk semua tombol dgn view
View contenueButton = findViewById(R.id.contenue_button);
continueButton.setOnClickListener(this);
View newButton = findViewById(R.id.new_button);
newButton.setOnClickListener(this);
View aboutButton = findViewById(R.id.about_button);
aboutButton.setOnClickListener(this);
View exitButton = findViewById(R.id.exit_button);
exitButton.setOnClickListener(this);
}
//**User memilih tombol menu
Public void onClick(view v) {
Switch (v.getId()) {
//tombol about
Case R.id.about_button :
Intent I = new Intent (this, About.class);
startActivity(i);
break;
//untuk tombol menu lain disini (jika masih ada)…
}
}
}
Setiap activity harus dideklarasikan dalam file manifest. Ikuti langkah berikutnya..!

5. Buka file AndroidManifest.xml, tambahkan tag <activity> baru setelah penutup tag <activity> sebelumnya. Deklarasikan AboutActivity dgn kode xml seperti berikut :
<activity android:name”.AboutActivity”
android:label=”@string/about_title” >
android:theme=”@android:style/Theme.Dialog”
</activity>
Save file dan jalankan program…!

Memulai Game baru

1. Buka string xml, tambahkan string ini untuk membuat judul dan isi dialog box :
<string name=”judul_game_baru”>Tingkat Kesukaran</string>
<string name=”label_mudah”>Mudah</string>
<string name=”label_sedang”>Sedang</string>
<string name=”label_sukar”>Sukar</string>
2. String dari detail tingkat kesukaran (isi dialog) akan di definisikan sbgai resource array. Buat resource array baru pada directori /res/values dg nama arrays.xml, tulis kode :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name=”tingkat_kesukaran”>
<item>@string/label_mudah</item>
<item>@string/label_sedang</item>
<item>@string/label_sukar</item>
</string-array>
</resource>
3. Buka main launch activity MyGameActivity.java, tambahkan beberapa import berikut :
import android.app.AlertDialog;
import android.content.DialogInterface;
4. Tambahkan kode dlm statemen switch dr method onClick() untuk menerima penekanan tombol New Game :
Case R.id.new_button :
openGameDialogBaru();
break;
5. Method openGameDialogBaru() digunakan untuk menangani pembuatan antarmuka untuk detail tingkat kesukaran (mudah,sedang,sukar) :
private void openGameDialogBaru() {
new AlertDialog.Builder(this).setTitle(R.string.judul_game_baru)
.setItems(R.array.tingkat_kesukaran,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialoginterface, int i) {
mulaiGame(i);
}
//memulai game baru sesuai tingkat kesukararan yg dipilih
private void mulaiGame(int i) {
//Game akan dimulai disini…
}
}).show();
}



Method setTitle() untuk mmberi judul kotak dialog menggunakan resource ID yaitu R.string.judul_game.baru..
Method setItem() untuk setting daftar item (mudah,sedang,sukar) yg akan ditampilkan sbg kotak dialog. Item harus didefinisikan sbg array string(lihat langkah2). Method ini menggunakan dua buah parameter yaitu resource ID dr daftar item dan listener yg akan dipanggil ketika salah satu item dipilih.

6. Keluar dari game
Tambahkan kode pd statemen switch dr method onClick() :

case R.id.new_button:
finish();
break;
Pada saat user memilih tombol Exit, maka method finish() akan dipanggil sehingga activity utama MyGameActivity menjadi shut down dan control akan kembali ke activity lain didlm stack aplikasi android (biasanya Home Screen).


SOAL TUGAS PRAKTIKUM :


Buatlah sebuah projek baru untuk membuat aplikasi yg menampilkan out put tampilan pada screen seperti berikut :


Petunjuk :
- Mulailah dengan menambahkan 4 resource grafik baru kedalam direktori /res/drawable (buat direktrori baru) : gambar1.png, gambar2.png, gambar3.png dan gambar4.png. resource grafik ini ditampilkan dalam control TabelLayout ditengah (center) pada output tampilan screen.
- Kemudian tambahkan 3 string baru kedalam /res/value/string.xml : untuk judul atas (Mengapa Begini), untuk judul bawah (Mengapa Begitu) dan untuk informasi seperti pada desain layout diatas.
- Buatlah file resource baru /res/value/colors.xml untuk mewarnai ketiga resource yg anda butuhkan, text judul (golden yellow #FFFF0F), text informasi versi (putih grayish #F0F0F0) dan warna background untuk text informasi versi (dark blue #1A1A48).
- Buatlah beberapa resource dimensi dlm file baru /res/values/dimens.xml tambahkan 3 nilai dimensi baru font judul (16pt), font informasi versi (5pt), spasi antar baris dr text informasi versi (3pt).
- Gunakan file2 yg telah dibuat dalam /res/layout/splash.xml (hapus main.xml buat file baru splash.xml)

Meng-Update screen layout :
1. Tambahkan control LinearLayout baru dan string :
Atribut LinearLayout Nilai Atribut
Background @android:color/black (warna dasar seluruh tampilan hitam)
Orientation vertical
Layout_width fill_parent
Layout_height fill_parent
2. Tambahkan control TextView dan beri nama id-nya dg textViewTopTitle dan seting layout_width ke fill_parent dan layout height ke wrap_content. Set control atribut text ke resource string dgn atribut textControl berwarna kuning emas (golden yellow) dan size ke resource dimensi yg telah anda buat
3. Tambahkan control Tablelayout dan beri nama id-nya dg TableLayout01, seting layout_width ke fill_parent dan layout height ke wrap_content. Set atribut stretchColumn ke “*”, untuk melebarkan kolom sesuai dg kebutuhan (modus fit screen).
4. Didalam TableLayout tambahkan control TableRow dg nama id TableRow01 (seting atribut lainnya hingga sesuai rancangan). Kemudian didalam control TableRow tambahkan 2 kontrol ImageView dgn masing2 nama id ImageView01 dn ImageView02. Untuk ImageView01 set atribut src @drwable/gambar1.png,
Untuk ImageView02 set atribut src @drwable/gambar2.png
5. Ulangi langkah 4 buat control TableRow kedua, tambahkan control ImageView untuk gambar3.png dan gambar4.png
6. Tambahkan control TextView dan beri nama id-nya dg textViewBottomTitle dan seting layout_width ke fill_parent dan layout height ke wrap_content. Set control atribut text ke resource string dgn atribut textControl berwarna kuning emas (golden yellow) dan size ke resource dimensi yg telah anda buat
7. Untuk informasi versi, buatlah control TextView dan beri nama id-nya dg textViewbottomVersion dan seting layout_width ke fill_parent dan layout height ke wrap_content. Set control atribut text ke string yang sesuai, atribut textcolor ke warna putih Grayish, dan atribut textsize ke resource dimensi yg telah dibuat juga set atribut background ke dark blue dan LineSpacingExtra kenilai resource dimensi.
8. Aturlah string layout_gravity dan gravity dr kontrol2 diatas ke posisi yg sesuai.

Murotal

Sebuah Syair Renungan Bagi Suami


Pernikahan atau perkawinan, menyingkap tabir rahasia.
Istri yang kamu nikahi tidaklah semulia Khadijah,
Tidaklah setaqwa Aisyah,
Pun tidak setabah Fatimah.
Justru Istri hanyalah wanita akhir zaman,
Yang punya cita-cita,
Menjadi sholehah...

Pernikahan atau perkawinan,
Mengajar kita kewajiban bersama
Istri menjadi tanah, kamu langit penaungnya
Istri ladang tanaman, kamu pemagarnya
Istri kiasan ternakan, kamu gembalanya
Istri adalah murid, kamu mursyidnya
Istri bagaikan anak kecil, kamu tempat bermanjanya

Saat Istri menjadi madu, kamu teguklah sepuasnya
Seketika Istri menjadi racun, kamulah penawar bisanya
Seandainya Istri tulang yang bengkok, berhatilah meluruskannya

Pernikahan atau perkawinan,
Menyadarkan kita perlunya iman dan taqwa
Untuk belajar meniti sabar dan ridha Allah SWT
Karena memiliki Istri yang tak sehebat mana,
Justru kamu akan tersentak dari alpa,
Kamu bukanlah Rasulullah,
Pun bukanlah Sayyidina Ali Karamallahhuwajhah
Cuma suami akhir zaman,
Yang berusaha menjadi sholeh...