7 Kebiasaan Nabi Muhammad SAW

KEBIASAAN-KEBIASAAN NABI SAW SEKITAR SHALAT

  1. Selalu shalat sunnah fajar
  2. Meringankan shalat sunnah fajar
  3. Membaca surat Al-Ikhlas dan Al-Kafirun dalam shalat fajar (ayat lain yang dibaca Nabi dalam shalat sunnah fajar)
  4. Berbaring sejenak setelah shalat sunnah fajar
  5. Mengerjakan shalat sunnah di rumah
  6. Selalu shalat sunnah empat rakaat sebelum dhuhur
  7. Mengganti dengan empat rakaat setelah duhur jika tidak sempat shalat sebelumnya
  8. Shalat sunnah dua atau empat rakaat sebelum ashar
  9. Shalat sunnah dua rakaat sesudah maghrib
  10. Shalat sunnah setelah Isya'
  11. Mengakhirkan shalat Isya'
  12. Memanjangkan rakaat pertama dan memendekkan rakaat kedua
  13. Selalu shalat malam (waktu shalat malam Rasulullah saw)
  14. Menggosok gigi apabila bangun malam
  15. Membuka shalat malam dengan 2 rakat ringan
  16. Shalat malam sebelas rakaat (format shalat malam Nabi sebelas rakaat)
  17. Memanjangkan shalat malamnya
  18. Membaca surat Al-A'la, Al-Kafirun dan Al-Ikhlas dalam shalat witir
  19. Mengganti shalat malam di siang hari jika berhalangan
  20. Shalat dhuha empat rakaat
  21. Tetap duduk hingga matahari bersinar setelah shalat subuh
  22. Meluruskan shaf sebelum mulai shlaat jama'ah
  23. Mengangkat kedua tangan saat takbiratul ihram, akan ruku' dan bangun dari ruku'
  24. Meletakkan tangan kanan di atas tangan kiri
  25. Mengarahkan pandangan ke tempat sujud
  26. Merenggangkan kedua tangan ketika sujud hingga tampak ketiaknya yang putih
  27. Memberi isyarat dengan jari telunjuk ketika tasyahhud dan mengarahkan pandangan ke arah jari telunjuk
  28. Meringankan tasyahhud pertama
  29. Meringankan shalat jika berjama'ah
  30. Menghadap ke arah kanan makmum selesai shalat jama'ah
  31. Bersegera ke masjid begitu masuk waktu shalat
  32. Selalu memperbarui wudhu setiap kali akan shalat
  33. Tidak menshalatkan jenazah yang masih berhutang
  34. Menancapkan tombak sebagai pembatas jika shlaat di tanah lapang
  35. Mengajari shalat kepada orang yang baru masuk Islam

 

KEBIASAAN-KEBIASAAN NABI SAW DI HARI JUM'AT DAN DUA HARI RAYA

  1. Membaca surat As-Sajdah dan Al-Insan dalam shalat subuh di hari Jum'at
  2. Memotong kuku dan kumis setiap hari Jum'at
  3. Mandi pada hari Jum'at
  4. Memakai pakaian terbaik untuk shalat jum'at
  5. Memendekkan khutbah Jum'at dan memanjangkan shalat
  6. Serius dalam khutbahnya dan tidak bergurau
  7. Duduk di antara dua khutbah Jum'at
  8. Membaca surat Al-A'la dan Al-Ghasyiyah dalam shalat Jum'at
  9. Shalat sunnah setelah jum'at
  10. Tidak langsung shalat sunnah setelah Jum'at
  11. Mandi sebelum berangkat shalat Id
  12. Memakai pakaian teraik ketika shalat Id
  13. Makan terlebih dahulu sebelum berangkat shalat Idul Fitri
  14. Baru makan sepulang dari melaksanakan shalat Idul Adha
  15. Shalat Id di tanah lapang
  16. Mengajak semua keluarganya ke tempat shalat Id
  17. Memperlambat pelaksanaan shalat Idul Fitri dan mempercepat pelaksanaan shalat Idul Adha
  18. Langsung shalat Id tanpa Adzan dan Iqomah
  19. Dua kali khutbah dengan diselingi duduk
  20. Pergi dan pulang melalui jalan yang berbeda
  21. Berjalan kaki menuju tempat shalat Id
  22. Membaca surat Qaaf dan Al-Qamar dalam shalat Id
  23. Menyembelih hewan kurban di tempat pelaksanaan shalat Id

 

KEBIASAAN-KEBIASAAN NABI SAW DALAM MASALAH PUASA

  1. Puasa dan berbuka secara seimbang
  2. Berbuka puasa sebelum shalat maghrib
  3. Berbuka dengan korma
  4. Tetap puasa meskipun bangun dalam keadaan junub
  5. Berpuasa jika tidak mendapatkan makanan di pagi hari
  6. Membatalkan puasa sunnah jika memang ingin makan
  7. Banyak puasa di bulan sya'ban
  8. Puasa enam hari syawal
  9. Puasa hari Arafah
  10. Puasa Asyura atau sepuluh Muharam
  11. Puasa hari senin dan kamis
  12. Puasa tanggal 13, 14 dan 15 setiap bulan
  13. Mencium istri di siang hari

 

KEBIASAAN-KEBIASAAN NABI SAW DI BULAN RAMADHAN

  1. Memperbanyak sedekah
  2. Memperbanyak membaca Al-Qur'an
  3. Megnakhirkan waktu sahur
  4. Puasa wishal
  5. Memperbanyak shalat malam (menghidupkan malam ramadhan)
  6. I'tikaf
  7. Menghidupkan sepuluh malam terakhir dan membangunkan keluarganya
  8. Menyuruh para sahabat agar bersungguh-sungguh mencari lailatul qadar

 

KEBIASAAN-KEBIASAAN NABI SAW DALAM MAKAN DAN MINUM

  1. Tidak pernah mencela makanan
  2. Tidak makan sambil bersandar
  3. Makan dan minum dengan tangan kanan
  4. Makan dengan tiga jari
  5. Menjilati jari-jemari dan tempat makan selesai makan
  6. Mengambil nafas tiga kali ketika minum
  7. Minum dengan duduk dan berdiri
  8. Mulai makan dari pinggir tempat makan
  9. Berdo'a sebelum dan sesudah makan
  10. Tidak pernah kenyang dua hari berturut-turut
  11. Tidak pernah makan di depan meja makan

 

KEBIASAAN-KEBIASAAN NABI SAW DALAM TIDURNYA

  1. Tidur dalam keadaan suci (punya wudhu)
  2. Tidur di atas bahu sebelah kanan
  3. Meletakkan tangan di bawah pipi
  4. Meniup kedua tangan dan membaca do'a lalu mengusapkannya ke badan
  5. Tidak suka tidur sebelum Isya'
  6. Tidur pada awal malam dan bangun di sepertiga akhir
  7. Berwudlu dulu jika akan tidur dalam keadaan junub
  8. Berdo'a sebelum dan setelah bangun tidur
  9. Membaca do'a jika terjaga dari tidur
  10. Tidur matanya namun tidak tidur hatinya
  11. Menyilangkan kaki jika tidur di masjid
  12. Tidur hanya beralaskan tikar
  13. Tidak menyukai tidur tengkurap

 

KEBIASAAN-KEBIASAAN NABI SAW DALAM BEPERGIAN

  1. Berlindung kepada Allah dari beban perjalanan jika hendak bepergian
  2. Sengang bepergian pada hari kamis
  3. Senang pergi pada pagi hari
  4. Menyempatkan tidur dalam perjalanan di malam hari
  5. Melindungi diri atau menjauh jika buang hajat
  6. Berada di barisan belakang saat bepergian
  7. Bertakbir tiga kali ketika telah berada di atas kendaraan
  8. Bertakbir saat jalanan naik dan bertasbih saat jalanan menurun
  9. Berdo'a jika tiba waktu malam
  10. Berdo'a jika melihat fajar dalam perjalanan
  11. Berdo'a ketika kembali dari bepergian
  12. Mendatangi masjid terlebih dahulu saat baru tiba dan shalat dua raka'at
  13. Mengundi istri-istrinya jika bepergian
  14. Shalat di atas kendaraan
  15. Menghadap ke arah kiblat terlebih dahulu jika shalat di atas kendaraan
  16. Mendo'akan orang yang ditinggal pergi
  17. Mendo'akan orang yang akan bepergian
  18. Memberi bagian tersendiri kepada orang yang diutus pergi

 

KEBIASAAN-KEBIASAAN NABI SAW DALAM DZIKIR DAN DO'ANYA

  1. Senang berdoa dengan do'a yang ringkas
  2. Membaca istighfar tiga kali dan berdzikir selepas shalat
  3. Membaca istighfar tujuh puluh kali hingga seratus kali setiap hari
  4. Membaca shalat dan salam atas dirinya jika masuk dan keluar dari masjid
  5. Membaca do'a di pagi dan sore hari
  6. Membaca do'a di akhir majlis
  7. Membaca do'a saat keluar rumah
  8. Berdo'a jika masuk dan keluar kamar kecil
  9. Berdoa jika memakai pakaian baru
  10. Berdo'a jika merasa sakit
  11. Berdo'a jika melihat bulan
  12. Memanjatkan do'a di saat sulit
  13. Berdo'a jika takut pada suatu kaum dan saat bertemu musuh
  14. Berdo'a jika bertiup angin kencang
  15. Berdo’a dengan mengangkat kedua tangan hingga terlihat putih ketiaknya

 

PERNAK-PERNIK KEBIASAAN NABI SAW

  1. Selalu mengingat Allah di setiap waktu
  2. Mengulangi perkataan hingga tiga kali dan bicara dengan suara yang jelas
  3. Selalu mendahulukan yang kanan
  4. Menutup mulut dan merendahkan suara apabila bersin
  5. Tidak menolak jika diberi minyak wangi
  6. Tidak pernah menolak hadiah
  7. Selalu memilih yang lebih mudah
  8. Bersujud syukur jika mendapat kabar gembira
  9. Bersujud tilawah jika membaca ayat sajdah
  10. Tidak datang ke rumah pada wkatu malam melainkan pada pagi dan sore hari
  11. Tidak suka berbincang-bincang setelah Isya'
  12. Tidak senang menyimpan harta dan selalu memberi jika ada yang meminta
  13. Mengulang salam hingga tiga kali
  14. Turut mengerjakan pekerjaan rumah
  15. Pergi ke masjid Quba setiap Sabtu
  16. Sangat marah jika hukum Allah dilanggar namun tidak marah jika dirinya disakiti
  17. Berubah warna mukanya jika tidak menyukai sesuatu
  18. Memilih waktu yang tepat dalam menasehati
  19. Tidak bohong dalam bergurau
  20. Berdiri apabila melihat iringan jenazah
  21. Baru mengangkat pakaian jika telah dekat dengan tanah saat buang hajat
  22. Menyuruh istrinya agar memakai kain jika ingin menggaulinya dalam keadaan haidh
  23. Buang air kecil dengan jongkok

Bermusyawarah jika membicarakan suatu masalah yang penting

23 Daftar Surat dalam Al-Qur'an (Arti, Jumlah Ayat, Statistik)

Bagi Anda yang ingin cepat menguasai atau menghapal seluruh nama surat lengkap dengan nomor urut dan artinya, sangatlah tepat Anda mengunjungi blog ini. Karena di sini saya bagikan file yang memuat hal tersebut.
 
NO NAMA SURAT ARTI JUMLAH AYAT
1  AL-FATIHAH  PEMBUKAAN 7
2  AL-BAQARAH  SAPI BETINA 286
3  ALI IMRAN  KELUARGA IMRAN 200
4  ANNISA  WANITA 176
5  AL-MA`IDAH  HIDANGAN 120
6  AL-AN'AM  BINATANG TERNAK 165
7  AL-A'RAF  TEMPAT TERTINGGI 206
8  AL-ANFAL  RAMPASAN PERANG 75
9  ATTAUBAH  PENGAMPUNAN 129
10  YUNUS  NABI YUNUS 109
11  HUD  NABI HUD 123
12  YUSUF  NABI YUSUF 111
13  ARRA'DU  GURUH 43
14  IBRAHIM  NABI IBRAHIM 52
15  AL-HIJRU  DAERAH HIJIR 99
16  ANNAHLU  LEBAH 128
17  AL-ISRA  PERJALANAN DI MALAM HARI 111
18  AL-KAHFI  GUA 110
19  MARYAM  SITI MARYAM 98
20  TOHA  TOHA 135
21  AL-ANBIYA  NABI-NABI 112
22  AL-HAJJ  HAJI 78
23  AL-MU`MINUN  ORANG-ORANG YANG BERIMAN 118
24  ANNUR  CAHAYA 64
25  AL-FURQAN  PEMBEDA 77
26  ASY-SYU'ARA  PENYAIR-PENYAIR 227
27  ANNAMLU  SEMUT 93
28  AL-QASHASH  KISAH-KISAH 88
29  AL-'ANKABUT  LABA-LABA 69
30  ARRUM  BANGSA RUM 60
31  LUQMAN  LUQMAN 34
32  ASSAJDAH  SUJUD 30
33  AL-AHZAB  GOLONGAN YANG BERSEKUTU 73
34  SABA`  NEGERI SABA 54
35  FATHIR  PENCIPTA 45
36  YASIN  YASIN 83
37  ASH-SHAFFAT  YANG BERBARIS 182
38  SHAD  SHAD 88
39  AZZUMAR  ROMBONGAN-ROMBONGAN 75
40  AL-MU`MIN  ORANG BERIMAN 85
41  FUSHSHILAT  YANG DIJELASKAN 54
42  ASY-SYURA  MUSYAWARAH 53
43  AZZUKHRUF  PERHIASAN 89
44  ADDUKHAN  KABUT 59
45  AL-JATSIYAH  YANG BERLUTUT 37
46  AL-AHQAF  BUKIT-BUKIT PASIR 35
47  MUHAMMAD  NABI MUHAMMAD 38
48  AL-FATHU  KEMENANGAN 29
49  AL-HUJURAT  KAMAR-KAMAR 18
50  QAF  QAF 45
51  ADZ-DZARIYAT  ANGIN YANG MENERBANGKAN 60
52  ATH-THUR  BUKIT THUR 49
53  ANNAJMU  BINTANG 62
54  AL-QAMAR  BULAN 55
55  ARRAHMAN  MAHA PEMURAH 78
56  AL-WAQI'AH  HARI KIAMAT 96
57  AL-HADID  BESI 29
58  AL-MUJADILAH  WANITA YANG MENGAJUKAN GUGATAN 22
59  AL-HASYR  PENGUSIRAN 24
60  AL-MUMTAHANAH  PEREMPUAN YANG DIUJI 13
61  ASH-SHAF  BARISAN 14
62  AL-JUMU'AH  HARI JUM'AT 11
63  AL-MUNAFIQUN  ORANG-ORANG MUNAFIK 11
64  ATTAGHABUN  HARI DITAMPAKKAN 18
65  ATH-THALAQ  TALAQ 12
66  ATTAHRIM  MENGAHARAMKAN 12
67  AL-MULKU  KERAJAAN 30
68  AL-QALAM  QOLAM 52
69  AL-HAQQAH  HARI KIAMAT 52
70  AL-MA'ARIJ  TEMPAT-TEMPAT NAIK 44
71  NUH  NABI NUH 28
72  AL-JINN  JIN 28
73  AL-MUZAMMIL  ORANG-ORANG BERSELIMUT 20
74  AL-MUDDATS-TSIR  ORANG YANG BERKEMUL 56
75  AL-QIYAMAH  HARI KIAMAT 40
76  AL-INSAN  MANUSIA 31
77  AL-MURSALAT  MALAIKAT YANG DIUTUS 50
78  ANNABA`  BERITA 40
79  ANNAZI'AT  MALAIKAT YANG MENCABUT 46
80  'ABASA  BERMUKA MASAM 42
81  ATTAKWIR  MENGGULUNG 29
82  AL-INFITHAR  TERBELAH 19
83  ATTATHFIF  KECURANGAN 36
84  AL-INSYIQAQ  TERBELAH 25
85  AL-BURUJ  GUGUSAN BINTANG 22
86  ATH-THARIQ  YANG DATANG DI MALAM HARI 17
87  AL-A'LA  YANG PALING TINGGI 19
88  AL-GHASYIYAH  HARI PEMBALASAN 26
89  AL-FAJR  FAJAR 30
90  AL-BALAD  NEGERI 20
91  ASY-SYAMSU  MATAHARI 15
92  AL-LAIL  MALAM 21
93  ADH-DHUHA  WAKTU DUHA 11
94  AL-INSYIRAH  KELAPANGAN 8
95  ATTIN  BUAH TIN 8
96  AL-'ALAQ  SEGUMPAL DARAH 19
97  AL-QADAR  KEMULIAAN 5
98  AL-BAYYINAH  BUKTI 8
99  AZZILZAL  KEGONCANGAN 8
100  AL-'ADIYAT  KUDA PERANG YANG BERLARI KENCANG 11
101  AL-QARI'AH  HARI KIAMAT 11
102  ATTAKATSUR  BERMEGAH-MEGAHAN 8
103  AL-'ASHR  WAKTU 3
104  AL-HUMAZAH  PENGUMPAT 9
105  AL-FIL  GAJAH 5
106  QURAISY  SUKU QURAISY 4
107  AL-MA'UN  BARANG-BARANG YANG BERGUNA 7
108  AL-KAUTSAR  NIKMAT YANG BESAR 3
109  AL-KAFIRUN  ORANG-ORANG KAFIR 6
110  ANNASHRU  PERTOLONGAN 3
111  ALLAHAB  GEJOLAK API 5
112  AL-IKHLASH  PEMURNIAN KEESAAN ALLAH 4
113  AL-FALAQ  WAKTU SHUBUH 5
114  ANNAS  MANUSIA 6
STATISTIK JUMLAH TOTAL AYAT 6236
JUMLAH SURAT DENGAN AYAT LEBIH DARI 120 11
JUMLAH SURAT DENGAN AYAT ANTARA 80 SAMPAI 120 16
JUMLAH SURAT DENGAN AYAT KURANG DARI 80 87
Sumber

1 Fungsi GROUP BY dan HAVING untuk Pengelompokkan Data di MySQL

Database MySQL merupakan salah perangkat lunak untuk penyimpanan data yang sangat populer untuk saat ini. Salah satu alasan banyak orang memilih MySQL adalah keunggulan dan kelengkapan fitur-fitur di dalamnya. Salah satu fitur dari MySQL adalah dukungan terhadap berbagai fungsi agregat GROUP BY dan HAVING untuk pengelompokkan data. Pada tutorial ini dijelaskan mengenai fitur GROUP BY dan HAVING tersebut, disertai contohnya.

Sebelum mencoba fungsi GROUP BY dan HAVING, perlu diketahui bahwa keduanya sangat berkaitan dengan fungsi agregat. Fungsi agregat merupakan kelompok fungsi di MySQL yang memungkinkan untuk memiliki parameter berupa kelompok data. Sebagai contoh dari fungsi agregat adalah fungsi SUM() yang akan menjumlahkan seluruh nilai yang menjadi parameternya. Contoh lain adalah fungsi MAX() yang akan menghasilkan nilai terbesar dari keseluruhan nilai yang menjadi parameternya.

Berikut ini beberapa fungsi agregat yang ada di MySQL:

Name Description
AVG() Return the average value of the argument
BIT_AND() Return bitwise and
BIT_OR() Return bitwise or
BIT_XOR() Return bitwise xor
COUNT(DISTINCT) Return the count of a number of different values
COUNT() Return a count of the number of rows returned
GROUP_CONCAT() Return a concatenated string
MAX() Return the maximum value
MIN() Return the minimum value
STD() Return the population standard deviation
STDDEV() Return the population standard deviation
SUM() Return the sum
VARIANCE() Return the population standard variance

Untuk memudahkan pemahaman bagaimana fungsi GROUP BY dan HAVING digunakan, kita akan menggunakan contoh data di MySQL. Buatlah tabel nilai yang menyimpan data nilai mahasiswa, strukturnya sebagai berikut:

Column Type Comment
nim varchar(10)  Nim mahasiswa
nama varchar(30)  Nama mahasiswa
matkul varchar(20)  Nama Matakuliah
nilai int(3)  Nilai mahasiswa

Selanjutnya isi tabel tersebut dengan beberapa data. Bagi yang ga mau repot bikin, ini sudah disiapkan perintah untuk bikin tabel dan mengisi datanya dalam bentuk file .sql. Silahkan download nilai.sql.

Berikut ini beberapa contoh persoalan yang dapat diselesaikan dengan fungsi GROUP BY dan HAVING.

Contoh Kasus #1. Tampilkan rata-rata nilai dari seluruh mahasiswa.

Untuk menyelesaikannya tidak perlu menggunakan GROUP BY karena yang diminta adalah seluruh mahasiswa. Untuk mendapatkan rata-rata nilai, kita dapat menggunakan fungsi AVG(). Berikut ini query untuk kasus tersebut.

SELECT AVG(nilai) as rata_rata FROM nilai;

Berikut ini hasil dari query di atas.

+-----------+
| rata_rata |
+-----------+
| 79.6800   |
+-----------+
Contoh Kasus #2. Tampilkan rata-rata nilai untuk setiap mahasiswa

Karena yang diminta adalah rata-rata untuk setiap mahasiswa, maka kita harus menggunakan GROUP BY untuk mengelompokkan rata-rata berdasarkan field tertentu. Query dan hasilnya kurang lebih sebagai berikut:

SELECT nim, nama, AVG(nilai) as rata_rata FROM nilai GROUP BY nim;
+------------+------+-----------+
| nim        | nama | rata_rata |
+------------+------+-----------+
| 0911500101 | ADI  | 82.0000   |
| 0911500102 | IDA  | 81.0000   |
| 0911500103 | EDI  | 80.6000   |
| 0911500104 | INA  | 70.4000   |
| 0911500105 | ANI  | 84.4000   |
+------------+------+-----------+
Contoh Kasus #3. Tampilkan nilai terbesar dan terkecil untuk setiap mahasiswa.

Query untuk menyelesaikan kasus ketiga di atas sebenarnya sama saja dengan yang sebelumnya. Perbedaannya hanya pada fungsi agregat yang digunakan untuk menampilkan nilai terbesar dan terkecil yaitu MAX() dan MIN(). Berikut ini query dan hasil query-nya.

SELECT nim, nama, MAX(nilai) as terbesar, MIN(nilai) as terkecil FROM nilai GROUP BY nim;
+------------+------+----------+----------+
| nim        | nama | terbesar | terkecil |
+------------+------+----------+----------+
| 0911500101 | ADI  | 90       | 65       |
| 0911500102 | IDA  | 90       | 70       |
| 0911500103 | EDI  | 88       | 60       |
| 0911500104 | INA  | 80       | 50       |
| 0911500105 | ANI  | 92       | 68       |
+------------+------+----------+----------+
Contoh Kasus #4. Tampilkan rata-rata nilai yang didapat mahasiswa untuk setiap matakuliah

Cukup jelas bahwa pada kasus ini, mirip dengan kasus kedua di atas, namun pengelompokkan data berdasarkan matakuliah, bukan berdasarkan mahasiswa. Querynya kurang lebih sebagai berikut:

SELECT matkul, AVG(nilai) as rata_rata FROM nilai GROUP BY matkul;
+-----------------+-----------+
| matkul          | rata_rata |
+-----------------+-----------+
| ALGORITMA       | 84.4000   |
| KALKULUS        | 62.6000   |
| PBO             | 82.0000   |
| PEMROGRAMAN WEB | 86.4000   |
| PTI             | 83.0000   |
+-----------------+-----------+
Contoh Kasus #5. Tampilkan rata-rata nilai untuk setiap mahasiswa, yang rata-rata nilai lebih besar dari 80

Perhatikan kembali kasus kedua di atas. Hasil query menunjukkan bahwa untuk setiap mahasiswa akan ditampilkan nilai rata-rata yang diperoleh. Nah pada kasus ke-5 ini yang ingin ditampilkan adalah hanya mahasiswa yang nilainya lebih dari 80. Artinya untuk mahasiswa atas nama “INA” yang mendapat nilai rata-rata 70.4 tidak boleh ditampilkan. Solusinya adalah dengan menambahkan kondisi pada query kasus kedua diatas. Nah, jika kondisi suatu query terkait dengan fungsi agregat, maka kita tidak bisa menggunakan kondisi WHERE. Penggunaan WHERE pada fungsi agregat akan menyebabkan error.

Cobalah query berikut ini.

SELECT nim, nama, AVG(nilai) as rata_rata FROM nilai GROUP BY nim WHERE AVG(nilai)>80;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE AVG(nilai)>80' at line 1

Lalu bagaimana solusinya jika tidak bisa menggunakan WHERE ? MySQL (dan juga database yang lainnya) memiliki struktur kondisi khusus terkait fungsi agregat yaitu HAVING. Jika query diatas diperbaiki dan menggunakan HAVING, maka hasilnya sebagai berikut:

SELECT nim, nama, AVG(nilai) as rata_rata FROM nilai GROUP BY nim HAVING AVG(nilai)>80;
+------------+------+-----------+
| nim        | nama | rata_rata |
+------------+------+-----------+
| 0911500101 | ADI  | 82.0000   |
| 0911500102 | IDA  | 81.0000   |
| 0911500103 | EDI  | 80.6000   |
| 0911500105 | ANI  | 84.4000   |
+------------+------+-----------+

Gampang kan?

Silahkan Anda berkreasi berdasarkan contoh-contoh di atas. Semoga tutorial ini bermanfaat untuk kita semua. Amin

 

Sumber

0 7 Variasi Perintah INSERT di MySQL yang Sering Terlupakan

Data Manipulation Language (DML) merupakan bagian dari perintah SQL (Structured Query Language) yang terdiri dari berbagai perintah untuk memanipulasi data di dalam suatu database. Empat perintah utama yang termasuk dalam perintah DML adalah perintah SELECT, INSERT, UPDATE dan DELETE. MySQL sebagai salah satu software database terkemuka tentunya mendukung keempat perintah DML tersebut dengan sangat baik. Di dalam tutorial kali ini, akan dibahas mengenai perintah INSERT dimana ternyata cukup banyak variasi perintah INSERT di MySQL yang sering terlupakan (terabaikan), namun sebenarnya sangat berguna.

Selain bentuk dasar perintah INSERT, setidaknya ada 7 (tujuh) variasi bentuk perintah INSERT yang  suatu saat akan berguna untuk Anda. Berikut ini ketujuh perintah INSERT tersebut yang selanjutnya akan dijelaskan satu per satu.

  1. INSERT INTO (field1, field2, …) VALUES (…)
  2. INSERT … SELECT …
  3. INSERT IGNORE …
  4. INSERT DELAYED …
  5. INSERT LOW PRIORITY | HIGH PRIORITY …
  6. INSERT … ON DUPLICATE KEY UPDATE
  7. REPLACE INTO …

Untuk mempermudah pemahaman terhadap tutorial ini, maka seluruh contoh yang disajikan akan mengacu pada struktur tabel sebagai berikut:

Nama tabel: tblmhs

mysql> desc tblmhs;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| nim      | varchar(10) | NO   | PRI | NULL    |       |
| nama     | varchar(40) | NO   |     | NULL    |       |
| alamat   | text        | NO   |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
3 rows in set (0.00 sec)

Di sini tidak dibahas mengenai bagaimana membuat struktur tabel di atas.

Bentuk Dasar Perintah INSERT

Sebelum membahas variasi dari perintah INSERT, alangkah baiknya kita mengingat kembali mengenai bagaimana bentuk dasar dari perintah INSERT tersebut. Perintah INSERT pada dasarnya merupakan perintah yang dapat digunakan untuk memasukkan data (record) ke sebuah tabel di database. Bentuk perintah ini cukup sederhana. Berikut ini contoh sederhana perintah INSERT untuk memasukkan data seorang mahasiswa dengan nim ‘1011500100‘, nama ‘ACHMAD SOLICHIN‘ dan alamat di JAKARTA SELATAN.

INSERT INTO tblmhs VALUES('1011500100', 'ACHMAD SOLICHIN', 'JAKARTA SELATAN');

Hal yang penting dari contoh perintah INSERT di atas adalah urutan dari nilai data yang akan ditambahkan harus sama dengan urutan field (kolom) di tabel. Urutan field di dalam tabel tblmhs adalah nim, nama lalu alamat, sehingga waktu melakukan INSERT urutan seharusnya juga nim, nama dan alamat. Jika urutan tidak sesuai, maka data yang dimasukkan bisa jadi menempati kolom yang salah juga

#1. INSERT INTO tabel (field1, field2) VALUES …

Pada bentuk dasar perintah INSERT di atas, kita harus menyebutkan nilai dari seluruh kolom. Jadi jumlah nilai yang akan ditambahkan harus sesuai dengan jumlah kolom dalam tabel. Namun ada kalanya kita hanya ingin menambahkan sebagian dari kolom tabel, jadi tidak semua kolom kita masukkan. Jika demikian, variasi perintah INSERT yang pertama ini tentu tepat untuk digunakan. Kita menyebutkan kolom-kolom yang akan di-insert-kan di belakang nama tabel. Urutannya juga tidak harus sesuai dengan urutan di dalam struktur tabel. Sebagai contoh, kita akan memasukkan data nim dan nama seorang mahasiswa, tanpa memasukkan alamatnya. Urutan fieldnya sengaja dibalik, nama terlebih dahulu baru nim. Berikut perintahnya:

INSERT INTO tblmhs (nama, nim) VALUES('CHOTIMATUL MUSYAROFAH', '1012501983');

Terlihat pada contoh di atas bahwa urutan yang harus disesuaikan adalah urutan field yang berada di belakang nama tabel ‘tblmhs’ dan urutan data (values) yang akan di-insert-kan.

#2. INSERT … SELECT …

Ada kalanya kita ingin memindahkan atau meng-copy sejumlah data yang berada pada suatu tabel ke tabel yang lainnya. Singkatnya copy data antar tabel. Untuk menyelesaikan permasalahan tersebut, tentunya sangat kurang efektif jika kita harus melakukan insert satu per satu. Untuk melakukan copy record antar tabel, akan lebih efektif jika kita menggunakan bentuk perintah “INSERT … SELECT …” yang menggabungkan proses insert (menambahkan data) dan select (mengambil data). Sebagai contoh, kita ingin memindahkan data nim dan nama mahasiswa yang berada di tabel tblpendaftaran ke tabel tblmhs, berikut ini perintahnya:

INSERT INTO tblmhs(nim, nama) SELECT nim, nama FROM tblpendaftaran;

#3. INSERT IGNORE

Penulis pernah membuat suatu absensi pada suatu perusahaan dimana data absensi diimport dari suatu file teks hasil keluaran dari mesin finger. Setelah diimport, data absensi karyawan akan diperiksa dan dilengkapi oleh staf HRD. Proses import dari teks file dapat terjadi berulang-ulang sehingga diperlukan mekanisme agar pada saat proses import data yang mungkin sudah diedit oleh staf HRD tidak tertimpa. Jadi intinya, saat proses import, harus diperiksa apakah data absensi yang akan dimasukkan ke tabel sudah ada atau belum. Jika sudah ada, maka tidak perlu dilakukan insert, namun jika tidak ada maka lakukan proses import. Awalnya terpikir untuk melakukan pengecekan data ke database terlebih dahulu sebelum insert, namun dari isi efektivitas tentu hal ini tidak baik, apalagi jika datanya cukup banyak. Beruntung kemudian ketemu bentuk perintah INSERT IGNORE … di MySQL. Dengan perintah ini, permasalahan tersebut dapat terselesaikan hanya dengan satu perintah.

Dalam contoh berikut ini, akan melakukan insert data ke tabel tblmhs hanya jika data nim belum ada di tabel. Pemeriksaan data didasarkan pada field yang menjadi primary key. Jadi jika terjadi duplikasi primary key maka data akan diabaikan (ignored).

INSERT IGNORE INTO tblmhs VALUES('1012501983','BUNGA', 'TANGERANG');

#4. INSERT DELAYED

Bentuk perintah INSERT DELAYED … merupakan bentuk perintah yang mungkin akan kita perlukan saat membuat suatu aplikasi transaksional dengan beberapa pengguna dalam satu waktu. Dengan tambahan perintah “DELAYED” maka proses menambahkan data akan ditangguhkan hingga tidak ada user yang mengakses tabel. Contoh berikut ini menggambarkan bagaimana perintah tersebut:

INSERT DELAYED INTO tblmhs (nim, nama) VALUES ('1011500121', 'LINTANG', 'TANGERANG');

Penjelasan lebih lanjut mengenai perintah ini dapat dilihat di manual MySQL.

#5. INSERT LOW PRIORITY | HIGH PRIORITY

Tambahan perintah LOW PRIORITY atau HIGH PRIORITY dibelakang perintah INSERT dapat digunakan untuk mengatur prioritas dari perintah INSERT yang akan dijalankan. Perintah dengan prioritas lebih tinggi tentu akan didahulukan untuk dijalankan. Sama seperti bentuk perintah INSERT DELAYED, perintah ini juga berguna saat kita “bermain” dengan proses transaksional. Berikut ini contoh sederhananya:

INSERT INTO tblmhs VALUES('1111500111', 'INDAH', 'JAKARTA');

#6. INSERT … ON DUPLICATE KEY UPDATE

Variasi perintah INSERT ini mungkin suatu saat akan kita perlukan. Misalnya pada kasus dimana pada proses insert sejumlah data, jika datanya sudah ada, dalam arti terjadi duplikasi primary key, maka lakukan perintah update untuk kolom tertentu. Sebagai contoh, kita akan melakukan penambahan data ke tblmhs, jika datanya sudah ada, maka update field alamat dengan alamat yang baru. Berikut ini perintahnya:

INSERT INTO tblmhs (nim, nama, alamat) VALUES('1111500111', 'WULAN', 'MALANG') ON DUPLICATE KEY UPDATE alamat='JAKARTA';

Untuk penjelasan lebih rinci terkait perintah ini dapat dilihat di dokumentasi MySQL (http://dev.mysql.com/doc/refman/5.1/en/insert-on-duplicate.html).

#7. REPLACE INTO …

Penulis sangat senang dengan adanya bentuk perintah REPLACE di MySQL ini. Perintah ini sangatlah membantu. Contohnya saat penulis ingin melakukan penambahan data secara massal seperti pada kasus import absensi karyawan di atas. Jika pada proses import, kita menginginkan agar data selalu up to date, maka jika data sudah ada harus dilakukan proses update. Perintah REPLACE INTO berperan untuk melakukan dua tugas sekaligus, yaitu INSERT jika datanya belum ada dan UPDATE jika datanya sudah ada. Berikut ini contoh perintah ini:

REPLACE INTO tblmhs VALUES('1011500100', 'ACHMAD SOLICHIN', 'TANGERANG SELATAN');

Demikian ketujuh bentuk variasi perintah INSERT di dalam MySQL yang sering terlupakan namun seringkali kita butuhkan. Semoga postingan ini bermanfaat untuk kita semua. Mari terus semangat berbagi demi Indonesia!

 

Sumber

4 7 Rahasia CSS yang (mungkin) belum anda ketahui dan wajib diketahui

CSS pasti sudah menjadi hal yang wajib dipelajari jika anda ingin membuat website. Sekarang saya akan memberitahu rahasia CSS yang mungkin belum anda ketahui dan wajib diketahui, karena dapat memperkecil ukuran file CSS anda. Inilah dia rahasia CSS yang (mungkin) belum anda ketahui:

1. Memasang 2 class pada 1 tag HTML

Hei, apa anda tau bahwa kita bisa memasang 2 class untuk satu tag HTML? Jawabannya bisa.. Jika kita biasanya hanya membuat kode seperti ini:

<p class="content">

Maka jika kita ingin bahwa <p> mengikuti dua aturan class yang berbeda maka kita cukup mengubahnya menjadi:

<p class="content isi">

Jadi jika anda memiliki class content dan isi maka kedua aturan pada class tersebut akan dimasukkan kedalam <p>. Ingat hanya 2 tidak bisa lebih dan dipisahkan dengan spasi.

2. Hilangkan px untuk nilai 0

Oke, katakanlah anda memiliki kode CSS seperti ini:

.box {
border-top:10px;
border-left:0px;
padding:0px;
}

px disini berarti satuannya pixel dan kita harus menuliskannya, tetapi ternyata ada pengecualian untuk angka 0 (angka 0 saja) jadi kita bisa menuliskannya seperti ini:

.box {
border-top:10px;
border-left:0;
padding:0;
}

Ya, angka 0 tidak perlu menggunakan px, ini berarti kita memperkecil sedikit ukuran file CSS kita :)

3. Gunakanlah selalu shorthand

Apa sih shorthand? Shorthand merupakan aturan di CSS untuk menyingkat kode CSS anda. margin, dan padding merupakan contoh yang bisa kita singkat. Perhatikan contoh CSS berikut ini:

.box {
border-top:10px;
border-left:0;
border-right:20px;
border-bottom:15px;
padding-top:0;
padding-bottom:10px;
padding-left:12px;
padding-right:9px;
}

Dapat anda singkat menjadi:

.box {
border:10px 20px 15px 0;
padding:0 9px 10px 12px;
}

Lihat berapa banyak yang bisa kita hemat :) yang paling penting adalah urutannya dari kiri ke kanan dimulai dari posisi atas kemudian bergerak searah jarum jam.

4. Shorthand pada warna

Yap, warna pun bisa kita singkat, jika kita memiliki warna putih maka kita menggunakan #ffffff bisa disingkat menjadi #fff. Demikian juga jika kita memiliki warna #111111 menjadi #111. Tapi kita tidak bisa menyingkat warna #abcdef. Harus warna yang memiliki angka hexa yang sama.

5. Shorthand pada font

Siapa bilang font tidak bisa disingkat? Jika anda memiliki kode seperti ini:

.box {
font-style: italic;
font-weight: bold;
font-variant: small-caps;
font-size: 1em;
line-height: 1.5em;
font-family: verdana,sans-serif;
}

Dapat anda singkat menjadi 1 baris: font: bold italic small-caps 1em/1.5em verdana,sans-serif;
Perlu diingat bahwa untuk menyingkat font anda wajib mengatur font-size dan font-family yang diletakkan paling akhir. Untuk yang lainnya tidak wajib ada.

6. Menyingkat yang sudah disingkat

Kita bisa menyingkat yang sudah disingkat. Sudah singkat tapi masih bisa disingkat lagi? Nggak masuk akal.. Bisa. Perhatikan contoh berikut ini:

.box {
border-top:10px;
border-left:20px;
border-right:20px;
border-bottom:10px;
padding-top:0;
padding-bottom:0;
padding-left:15px;
padding-right:15px;
}

Oke, jika kode diatas disingkat maka hasilnya seperti ini:

.box {
border:10px 20px 10px 20px;
padding:0 15px 0 15px;
}

Dan karena nilai atas dan bawah serta kiri dan kanan nya sama. Maka bisa disingkat lagi menjadi:

.box {
border:10px 20px;
padding:0 15px;
}

Sip kan.. Ingat ini hanya berlaku jika nilai atas dan bawah serta kiri dan kanan sama.

7. Menengahkan objek

Anda ingin menengahkan suatu objek, misal images atau div. Gampang gunakan saja auto pada margin. Perhatikan contoh berikut ini:

#content{
width: 600px;
margin: 0 auto;
} 

auto disini berarti kita membiarkan CSS mendeteksi lebar kiri dan kanan secara otomatis berdasarkan lebar layar. Maka otomatis hasilnya akan ketengah. Tidak berlaku jika kita ingin menengahkan secara vertikal.

Bagaimana menarik bukan? itu baru sebagian kecil, dan masih banyak lagi rahasia dan trik CSS yang perlu diketahui.

Sumber