Langsung ke konten utama

BASIS DATA SQL


BASIS DATA
STRUCTURED QUERY LANGUAGE
S  Q  L


 



BAB I
STRUCTURED QUERY LANGUAGE (SQL)

A.     PENGERTIAN SQL
Structured Query Language (SQL) merupakan suatu bahasa permintaan yang terstruktur. Dikatakan terstruktur karena pada penggunaannya, SQL memiliki beberapa aturan yang telah distandarkaan oleh asosiasi yang bernama ANSI.
Structured Query Language (SQL) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. Bahasa ini secara de facto merupakan bahasa standar yang digunakan dalam manajemen basis data relasional. Saat ini hampir semua server basis data yang ada mendukung bahasa ini untuk melakukan manajemen datanya.
SQL Juga dapat diartikan sebagai Antar muka standar untuk sistem manajemen basis data relasional, termasuk sistem yang beroperasi pada komputer pribadi. SQL memungkinkan seorang pengguna untuk mengakses informasi tanpa mengetahui dimana lokasinya atau bagaimana informasi tersebut disusun. SQL lebih muedah untuk digunakan dibandungkan dengan bahasa pemrograman tetapi lebih rumit dibanding software lembar kerja dan pengolah kata. Sebuah pernyataan SQL yang sederhana dapat menghasilkan set permintaan untuk informasi yang tersimpan pada komputer yang berbeda di berbagai lokasi yang tersebar, sehingga membutuhkan waktu dan sumber daya komputasi yang banyak. SQL dapat digunakan untuk investigasi interatif atau pembuatan lapiran ad hoc atau disisipkan dalam program aplikasi.
SQL juga merupakan Bahasa pemrograman yang dirancang khusus untuk mengirimkan suatu perintah query (pengaksesan data berdasarkan pengalamatan tertentu) terhadap sebuah database. Kebanyakan software database yang ada saat ini dapat diakses melalui SQL. Setiap aplikasi yang spesifik dapat mengimplementasikan SQL secara sedikit berbeda, tapi seluruh database SQL mendukung subset standar yang ada.
Jadi, SQL  adalah bahasa permintaan yang melekat pada satu database atau SMBD tertentu. Dengan kata lain, SQL adalah perintah atau bahasa yang melekat di dalam SMBD. Sebagai suatu bahasa permintaan, SQL didukung oleh SMBD seperti : MySQL Server, MsQL, PostgreSQL, Interbase, dan Oracle. Selain itu SQL juga didukung oleh database bukan server seperyi Ms. Access maupun Paradox.

B.     SEJARAH SQL
Sejarah dari SQL tidak lepas dari sejarah project dari IBM yang bernama System R. Tujuan dari project ini adalah untuk penelitian Relational ( hubungan ) Databases Server. Project ini dibuat pada laboratorium penelitian IBM di San Jose California. Project tersebut diniatkan untuk mendemonstrasikan keunggulan penggunaan fitur dari relasi pemodelan yang akan diterapkan pada suatu sistem untuk memenuhi kebutuhan database modern server.
Project System R ini telah memecahkan permasalahan yaitu permasalahan tentang tidak adanya bahasa baku pada relasional database. Sehingga dengan adanya bahasa yang baku, setiap database dapat diacu dengan mudah. Sequel adalah nama bahasa yang diasung oleh adanya project System R ini yang didesain oleh R.F Boyce dan D.D. Chamberlin. Dalam pembuatan project tersebut, bahasa Sequel berganti nama menjadi SQL karena kata “Sequel” bermasalah dalam trademark.
Project System R terbentuk dari 3 tahap, tahap pertama dinamakan tahap ke-0 sekitar tahun 1974-1975. Pada tahap ini hanya sebagian kecil yang di-implementasikan pada SQL. Sebagai contoh, fungsi JOIN ( menggunakan data dari beberapa table) belum diterapkan namun hanya single user version yang dulu diterapkan. Tujuan pada tahap ini adalah untuk mengetahui apakah implementasi pada beberapa sistem dapat diterapkan.
Tahap ke-1 dimulai pada tahun 1976-1977. Semua kode program ditulis pada tahap ke-0 sebagai awalan. Pada tahap ke-1 ini terdiri dari keseluruhan sistem, hal ini berarti pada tahap ini telah banyak hal baru dibuat. Sebagai contoh telah terbentuknya multiuser dan penggunaan JOIN.Tahap terakhir dari System R adalah sistem ini telah terinstal di beberapa komponen dalam IBM dan sebagian besar dari client IBM. Tahap ini terjadi sekitar tahun 1978-1979.
Para pengembang menggunakan pengetahuan yang dimiliki dan teknologi dari penerapan pada 3 tahap untuk membuat SQL/DS. SQL/DS adalah relational database server yang bersifat komersil pertama milik IBM. Pada tahun 1981, SQL/DS menjadi paket penjualan dari sistem operasi DOS/VSE, dan versi VM/CMS muncul tahun 1983. Pada tahun yang sama DB2 juga telah dilauncing. Sekarang ini DB2 telah banyak digunakan oleh beberapa sistem operasi.
IBM telah mempublikasikan idenya mengenai pengembangan dari System R pada suatu konferensi atau seminar mengenai relational database server sehingga perusahaan lain seperti Oracle menggunakan SQL sebagai bahasa databasenya. Dalam beberapa tahun sekarang ini telah muncul produk dari SQL pada dunia IT. Dan akhirnya SQL menjadi bahasa yang compatible dengan semua sistem operasi baik yang besar maupun yang kecil.

C.     PENGEMBANGAN
a.      Perkembangan Microsoft SQL Server
Microsoft SQL Server diperkenalkan pada tahun 1990 untuk platform, Microsoft OS/2 dalam kerjasamanya dengan Sybase. Produk ini berasal dari Sybase SQL Server 4.x untuk platform Unix. Dengan adanya Windows NT, muncul inisiatif untuk membangun SQL Server versi Windows NT sehingga dihasilkan Microsoft SQL Server versi 4.2 untuk platform Windows NT. Kerjasama dengan Sybase masih berlanjut dan diluncurkan SQL Server 6.0 pada tahun 1995 dan setahun kemudian SQL Server versi 6.5 diluncurkan.
SQL Server 6.5 memperbarui kemampuan transaksi dan menjadi produk database client/server yang banyak dipakai pada platform Windows NT. Untuk memenuhi kebutuhan pengguna yang makin meningkat, maka SQL Server perlu didisain ulang dan kerjasama dengan Sybase dihentikan. Kemudian Microsoft mengembangkan SQL Server 7.0 yang difokuskan pada tiga area yaitu : easy to use, scalability dan data warehousing. Pada tahun 2000, kemudian Microsoft meluncurkan SQL Server 2000. Di tahun 2005 ini, Microsoft mengeluarkan produk SQL Server versi terbarunya yaitu Microsoft SQL Server 2005 seiring dengan dilauncingnya Microsoft Visual Studio 2005 beta 2.
b.      Arsitektur SQL 2000
SQL Server 2000 dikomersilkan pada tahun 2000 dan mempunyai desain yang sudah modern. SQL Server 2000 adalah sebuah mesin database client/server yang berbeda dengan database komputer tunggal tradisional yang memakai sistem pemakaian file secara bersama-sama (misalnya Dbase, Microsoft Jet, Microsoft Visual FoxPro). Database sistem memakai file secara bersama-sama bergantung pada sebuah proses tunggal per user untuk memanipulasi data pada file yang dipakai bersama pada server jaringan. Dalam lingkungan multi user akan muncul berbagai masalah, yaitu pengontrolan konkurensi yang memakai mekanisme locking pada lapisan network. Fasilitas securitas untuk sistem database ini hanya dibatasi pada izin untuk membaca dan menulis data pada jaringan, sehingga user yang ingin melakukan kecurangan dapat memakai alat Meskipun arsitektur ini berhasil untuk banyak aplikasi, kemudian muncul konsep baru yaitu three-tier atau n-tiered. Dengan cara ini, client hanya
mengimplementasikan interface user, sedangkan proses bisnis yang rumit dijalankan oleh aplikasi server pada middle-tier. Aplikasi server tersebut berkomunikasi dengan database. Jadi, istilah client/server menunjukkan sebuah proses client yang berhubungan dengan proses server, tanpa memandang di tier mana proses client berada. Misalnya sebuah proses client dapat berupa program middle tier yang menjalankan validasi kartu kredit dan proses server adalah SQL Server. SQL Server juga dapat berfungsi sebagai aplikasi khusus yang menangani operasi database untuk proses client. Proses client dan server dapat bersama-sama berada di komputer yang sama atau berkomunikasi pada jaringan menggunkan mekanisme IPC.

BAB II
OBJEK, KOMPONEN DAN SISTEM FILE
BASIS DATA SQL SERVER

A.      KOMPONEN BASIS DATA SQL SERVER
Basis data SQL Server disusun oleh beberapa komponen antara lain sebagai berikut:
  1. Physical Database
Merupakan kumpulan File-File fisik yang membentuk sebuah basis data. Physical database memiliki 2 atau lebih physical operating system File. Dalam kondisi minimal, 1 File akan menyimpan informasi mengenai basis data dan File lainnya menyimpan catatan transaksi basis data (database transaction Log, ukurannya defaultnya 25% adalah dari File data) yang berperan. Ketika ada perubahan isi basis data, maka semua perubahan dicatat ke dalam transaction Log terlebih dahulu.
  1. Logical Database
Merupakan bagian dari basis data yang terlihat oleh pengguna meliputi obyek tabel, view, dan sebagainya.
  1. System Database
SQL Server memiliki basis data khusus yang digunakan untuk mencatat dan menjaga kondisi dari sistem SQL Server itu sendiri. Basis data ini dibuat ketika proses instalasi pertama kali. Basis data sistem ini antara lain:
a.       Master
Basis data ini terdiri dari tabel-tabel sistem yang mencatat keseimbangan sistem SQL Server secara keseluruhan.
Misalnya ketika kita membuat basis data baru pada server, maka proses itu akan dimasukkan ke dalam tabel sysDatabase pada basis data Master. Basis data ini sangat kritikal untuk sistem dan tidak boleh dihapus
b.      Model
Basis data ini menyediakan bentuk dasar dari sebuah basis data yang dapat diduplikasi. Dengan kata lain basis data ini berperan sebagai template bagi setiap basis data baru yang kita buat.

c.       Msdb
Basis data ini digunakan SQL Server untuk menyimpan instruksi-instruksi sistem yang dihasilkan oleh proses SQL Agent, misalnya penjadwalan proses backup pada basis data, pencatatan history, dan sebagainya. Bila basis data ini dihapus maka proses penjadwalan, history, SQL Agent akan hilang dari SQL Server.
d.      Tempdb
Basis data ini digunakan sebagai tempat penyimpanan sementara ketika Server bekerja. Basis data ini dibuat dari awal setiap kali SQL Server dijalankan. Ketika kita melakukan Query yang sangat kompleks dimana dibutuhkan tabel tambahan atau tabel sementara, maka itu dilakukan pada basis data ini.
e.       User Database
Merupakan basis data yang dibuat oleh pengguna. Pada SQL Server 2000, disediakan 2 buah basis data contoh yang diberi nama pubs dan northwind untuk latihan dan eksperimen.


B.     SISTEM FILE BASIS DATA SQL SERVER
Basis data (Database) SQL Server tersusun dari beberapa sistem File. File-File ini terbagi menjadi tiga, yaitu:
  1. Primary Data Files
Setiap basis data SQL Server harus memiliki minimal 1 File ini untuk menyimpan obyek-obyek basis data berupa tabel atau indeks. File ini berekstensi .mdf.
  1. Secondary Data Files
Basis data akan membuat sebuah File data sekunder bila File data primer tidak sanggup menampung data-data yang ada. File ini berekstensi .ndf.
  1. Log Files
Setiap basis data memiliki File Log untuk mencatat seluruh informasi yang ada sebelum informasi tersebut ditulis ke dalam File primer atau sekunder. File ini dapat digunakan untuk memulihkan kembali kondisi basis data bila mengalami kerusakan. Ekstensi dari File ini adalah .ldf.
C.     OBJEK BASIS DATA SQL SERVER
Obyek-obyek yang terdapat dalam basis data (Database) SQL Server antara lain sebagai berikut:
  1. 1. Tabel
  2. 2. Indeks
  3. View
  4. Rules, Default, Constraint
  5. Stored-Procedured
  6. Trigger
  7. User-Defined Data Types

BAB III
PERINTAH-PERINTAH SQL

Berikut ini adalah perintah-perintah SQL atau yang lebih dikenal dengan sebutan query. Adapun project yang dijadikan sebagai acuan adalah proyek database sederhana penilaian mahasiswa.
A.     STRUKTUR DAN TEMA TABEL-TABEL
Berikut adalah struktur tabel dan skema yang dibuat.
Skema tabel adalah seperti pada gambar di bawah ini.


B.     PEMBUATAN TABEL-TABEL
Tabel-tabel dibuat dengan Engine InnoDB karena secara default MySQL akan menggunakan engine MyISAM yang tidak dapat menggunakan fitur Constraint Foreign Key.

CREATE DATABASE kuliah;

USE kuliah;

CREATE TABLE tbl_mahasiswa (
nim varchar(6) NOT NULL,
nama varchar(20) NOT NULL,
alamat varchar(30) default NULL,
telepon varchar(12) default NULL,
kd_jurusan varchar(4) default NULL,
tgl_masuk datetime default NULL,
PRIMARY KEY (nim),
KEY FK_tbl_mahasiswa (kd_jurusan),
CONSTRAINT FK_tbl_mahasiswa FOREIGN KEY (kd_jurusan) REFERENCES
tbl_jurusan(kd_jurusan)
) ENGINE=InnoDB;

CREATE TABLE tbl_dosen (
kd_dosen varchar(4) NOT NULL,
nama_dosen varchar(20) NOT NULL,
alamat varchar(30) default NULL,
telepon varchar(12) default NULL,
PRIMARY KEY (kd_dosen)
) ENGINE=InnoDB;

CREATE TABLE tbl_jurusan (
kd_jurusan varchar(4) NOT NULL,
nama_jurusan varchar(20) default NULL,
ketua_jurusan varchar(4) default NULL,
PRIMARY KEY (kd_jurusan)
) ENGINE=InnoDB;

CREATE TABLE tbl_krs (
kd_krs varchar(5) NOT NULL,
nim varchar(6) NOT NULL,
semester tinyint(4) NOT NULL,
dsn_wali varchar(4) NOT NULL,
PRIMARY KEY (kd_krs),
KEY FK_tbl_dsnwali (dsn_wali),
KEY FK_tbl_krsmhs (nim),
CONSTRAINT FK_tbl_krsmhs FOREIGN KEY (nim) REFERENCES
tbl_mahasiswa(nim),
CONSTRAINT FK_tbl_dsnwali FOREIGN KEY (dsn_wali) REFERENCES
tbl_dosen (kd_dosen)
) ENGINE=InnoDB;

CREATE TABLE tbl_krsdetail (
kd_krs varchar(5) NOT NULL,
kdmk varchar(6) default NULL,
kd_dosen varchar(4) default NULL,
nilai_angka float default '0',
nilai_huruf varchar(2) default 'E',
KEY FK_tbl_krsdetail(kd_krs),
KEY FK_tbl_krsmk(kdmk),
KEY FK_tbl_krsdosen(kd_dosen),
CONSTRAINT FK_tbl_krsdosen FOREIGN KEY (kd_dosen) REFERENCES
tbl_dosen(kd_dosen),
CONSTRAINT FK_tbl_krsdetail FOREIGN KEY (kd_krs) REFERENCES
tbl_krs(kd_krs),
CONSTRAINT FK_tbl_krsmk FOREIGN KEY (kdmk) REFERENCES
tbl_matakuliah (kdmk)
) ENGINE=InnoDB;


C.     Entry data dengan perintah INSERT
Sintaks
INSERT INTO nama_tabel(field1,field2,field3)
values(value1,value2,value3),(value4,value5,value6),(value7,value
8,value9);

Jika diuraikan perintah INSERT diatas adalah seperti ini

INSERT INTO nama_tabel(field1,field2,field3)
values(value1,value2,value3);
INSERT INTO nama_tabel(field1,field2,field3)
values(value4,value5,value6);
INSERT INTO nama_tabel(field1,field2,field3)
values(value7,value8,value9);

Data yang pertama sekali diisi yaitu data pada tabel master data.
D.    Entry Tabel Jurusan. (2 Record)
INSERT INTO tbl_jurusan(kd_jurusan,nama_jurusan,ketua_jurusan)
VALUES ('J001', 'Ilmu Komputer', 'DS05'),('J002', 'Sistem
Informasi', 'DS09');

E.     Entry Tabel Matakuliah. (12 Record)
INSERT INTO tbl_matakuliah (kdmk,nama_mk,semester,sks) VALUES
('KOMP00', 'Dasar-dasar Pemrograman', 1, 2),
('KOMP02', 'Teknik Kompilasi', 1, 2),
('KOMP03', 'Pemrograman Pascal', 1, 2),
('KOMP04', 'Praktek Pemrograman Pasca', 1, 1),
('KOMP05', 'Praktek Teknik Kompilasi', 1, 1),
('KOMP06', 'Bahasa Inggris 1', 1, 2),
('KOMP07', 'Matematika Dasar ', 1, 2),
('KOMP08', 'Bahasa Indonesia ', 1, 2),
('KOMP09', 'Agama', 1, 2),
('KOMP10', 'Analisa Numerik', 3, 2),
('KOMP11', 'Analisa Algoritma', 3, 2),
('KOMP12', 'Perancangan System', 3, 2);


F.     Entry pada Tabel KRS. (5 Record)

INSERT INTO tbl_krs(kd_krs,nim,semester,dsn_wali) VALUES
('KRS01', '080201', 1, 'DS01'),
('KRS02', '080203', 1, 'DS01'),
('KRS03', '080202', 1, 'DS05'),
('KRS04', '070201', 1, 'DS06'),
('KRS05', '080201', 1, 'DS06');

G.    Entry pada Tabel KRS Detail. (38 Record)

INSERT INTO tbl_krsdetail(kd_krs,kdmk,kd_dosen,nilai_angka,
nilai_huruf) VALUES
('KRS01', 'KOMP00', 'DS01', 95, 'A'),
('KRS01', 'KOMP02', 'DS02', 84.6, 'B+'),
('KRS01', 'KOMP03', 'DS03', 85.5, 'B+'),
('KRS01', 'KOMP04', 'DS03', 95, 'A'),
('KRS01', 'KOMP05', 'DS02', 95, 'A'),
('KRS01', 'KOMP10', 'DS10', 75, 'B'),
('KRS01', 'KOMP11', 'DS09', 70, 'C'),
('KRS01', 'KOMP12', 'DS08', 75, 'C+'),
('KRS02', 'KOMP00', 'DS01', 90, 'B+'),
('KRS02', 'KOMP02', 'DS02', 85, 'B+'),
('KRS02', 'KOMP03', 'DS03', 85, 'B+'),
('KRS02', 'KOMP04', 'DS03', 95, 'A'),
('KRS02', 'KOMP05', 'DS02', 80, 'B'),
('KRS02', 'KOMP10', 'DS10', 50, 'D'),
('KRS02', 'KOMP12', 'DS08', 60, 'C'),
('KRS04', 'KOMP00', 'DS01', 90, 'B+'),
('KRS04', 'KOMP02', 'DS02', 90, 'B+'),
('KRS04', 'KOMP03', 'DS03', 84, 'B+'),
('KRS04', 'KOMP04', 'DS03', 80, 'B'),
('KRS04', 'KOMP05', 'DS02', 75, 'B'),
('KRS04', 'KOMP10', 'DS10', 75, 'B'),
('KRS04', 'KOMP11', 'DS09', 78, 'B'),
('KRS04', 'KOMP12', 'DS08', 80, 'B'),
('KRS05', 'KOMP00', 'DS01', 90, 'B+'),
('KRS05', 'KOMP02', 'DS02', 84, 'B+'),
('KRS05', 'KOMP03', 'DS03', 86, 'B+'),
('KRS05', 'KOMP04', 'DS03', 95, 'A'),
('KRS05', 'KOMP05', 'DS02', 95, 'A'),
('KRS05', 'KOMP10', 'DS10', 78, 'B'),
('KRS05', 'KOMP11', 'DS09', 65, 'C+'),
('KRS05', 'KOMP12', 'DS08', 55, 'C'),
('KRS05', 'KOMP06', 'DS06', 98, 'A'),
('KRS05', 'KOMP07', 'DS07', 94, 'A'),
('KRS04', 'KOMP09', 'DS09', 84, 'B+'),
('KRS03', 'KOMP06', 'DS06', 78.5, 'B'),
('KRS03', 'KOMP07', 'DS07', 90.5, 'A'),
('KRS03', 'KOMP08', 'DS08', 85.4, 'E');

Setelah semua data telah dimasukkan, sekarang bagaimana menampilkan data yang sudah ada dengan perintah SELECT.

H.   SELECT
  1. Select
Sintaks
SELECT field1,field2,field3 FROM nama_tabel;

Contoh : Menampilkan nama,alamat,telepon dari tabel mahasiswa.

  1. Selecet Limit
Select Limit digunakan untuk menentukan record yang ditampilkan mulai dari record
yang keberapa hingga record yang keberapa.
Sintaks :
SELECT jumlah_rekord field1,field2,field3 FROM nama_tabel LIMIT
record_awal,record_akhir;

Contoh : Menampilkan record awal (0) hingga record ke 3
mysql> select nama,alamat,telepon from tbl_mahasiswa limit 0,3;

  1. Select ... As
Select As digunakan untuk mengganti nama tabel pada hasil query, nama tabel ini tidak mempengaruhi nama tabel aslinya.
 Sintaks:

Select nama_field as nama_fieldbaru FROM nama_tabel;


I.       WHERE
Where digunakan untuk memilih record mana yang ditampilkan dengan kiteria tertentu.

Sintaks:
Select field1, field2, field3 FROM nama_tabel WHERE namafield – kriteria;

Contoh : Menampilkan nim, nama, alamat, telepon dari tabel mahasiswa  yang memiliki nim 070201.

J.       WHERE ... LIKE
Kriteria pada WHERE dapa diseleksi dengan kata kunci LIKE.

Sintaks :

SELECT field1, field2, field3 FROM nama_tabel WHERE namafield LIKE katakunci;
Pada MySQL dikenal tanda % yang artinya mewakili semua karakter.

Contoh : menampilkan nama dosen yang diawali dengan huruf S.

K.     ORDER BY
Order by digunakan untuk mengurutkan hasil query berdasarkan file yang dipilih.
ASC     = diurutkan mulai dari nilai paling kecil;
DESC  = diurutkan mulai dari nilai tertinggi
Syntaks : SELECT field1,field2,field3 FROM nama_tabel order by nama_field
DESC/ASC.

Jika DESC/ASC tidak disebutkan maka secara default system akan menggunakan ASC.

Contoh : Menampilkan nama dosen diurutkan berdasarkan nama.

L.     IN
Query IN digunakan untuk memilih record yang memiliki nilai yang disebutkn dalam kriteria IN.

Syntaks : SELECT nama_field FROM nama_table WHERE nama_field IN
(Kriteria1, Kriteria2, Kriteria3)

Contoh : Pilih mahasiswa yang memiliki nim 070201, 080201, 080202 dengan IN.



M.   COUNT
Count digunakan untuk menghitung record, count juga dapat digabungkan dengan seleksi criteria WHERE.

Sintaks :

Komentar

Postingan populer dari blog ini

Akhlak Lil Banat Juz 1 Bab 6. ِApa Kewajian Anak Perempuan Kepada Tuhannya?

ماذايجب عليك لربك  kamu harus benar-benar tahu bagaimana Tuhanmu memberimu nikmat yang begitu besar. Maka kamu harus mensyukuri nikmat itu dengan beribadah kepada Allah dan mengagungkan-Nya. Dan menjalankan semua yang diperintah oleh Allah kepadamu dan meninggalkan semua hal yang harus di tinggalkan. Dan kamu harus mencintai Allah melebihi cintamu kepada ayah dan ibumu, melebihi cintamu kepada dirimu sendiri. Dan memohon kepada Allah dengan semua permohonan yang bagus. Dan kamu terus berdoa kepada Allah agar allah menjunjukkan kepadamu kesematan dan jalan yang baik. Dan Allah akan menjadikanmu anak perempuan yang bagus, yang beruntung di dunia dan di akhirat. Apabila kamu bersyukur kepada Allah dan menjalankan perintah Allah. Maka kamu dicintai Allah yang Maha suci dan Maha Luhur dan menjadikanmu manusia yang menyayangi sesama manusia dan Allah akan menjagamu dari segala musibah dan penyakit, dan Allah akan memberimu segala hal yang akan menambahkan nikmat, seperti yang di sebu...

Terjemahan Akhlak Lil Banat Juz 2 (Bab 1 AKHLAK)

1. Ingatlah wahai anak perempuan yang mulia, sesungguhnya akhlak yang baik itu menjadi penyebab keberuntunganmu di dunia dan di akhirat. Serta Allah akan ridho padamu, dan Allah akan menambah imanmu, dan engkau akan dimasukkan ke dalam surga-Nya. Allah akan melapangkan rizkimu, dan memberikan berkah dalam umurmu dan semua amalan-amalanmu. Allah Swt berfirman : قَدْ اَفْلَحَ مَنْ زَكَّهَاوَقَدْخَابَ مَنْ دَسَّاهَا "sesungguhnya beruntunglah orang yang membersihkan (dengan beriman) jiwa itu, dan sesungguhnya merugilah orang  yang mengotorinya." Rasul Saw bersabda: اِنَّ اْلمُؤْمِنِيْنَ اِيْمَانًاأَحْسَنُهُمْ خُلُقًا "Orang mukmin yang paling sempurna imannya adalah orang yang paling bagus akhlaknya" اِنَّ اْلمُؤْمِنَ لَيُدْرِكَ بِحُسْنِ خُلُقِهِ دَرَجَةَالصَّائِمِ اْلقَائِمِ "Sesungguhnya seorang mukmin dengan akhlaknya yang mulia dapat menyamai derajat orang yang berpuasa dan qiyamul lail" kanan adalah sebagus-bagusnya budi pekerti. Hakim ...

Terjemah Mabadi' Fiqih Juz 1 (2)

S: Apa niat wudhu' itu? J: Niat wudhu' yaitu: Saya berniat menghilangkan hadats kecil. ----------------------------------------------------------------------------------------------- S: Apa Hadats 1  kecil itu? J: Yaitu sesuatu sesuatu yang menyebabkan batalnya wudhu'. 1. Hadats yaitu sesuatu yang timbul pada diri seteleh mengalami perkara yang membatalkan wudhu'. ----------------------------------------------------------------------------------------------- S: Apa perkara yang membatalkan wudhu? J: Hal-hal yang membatalkan wudhu ada 5: 1) Keluarnya sesuatu dari kedua lubang, 2) Hilangnya akal, 3) Tidur, 4) Menyentuh perempuan yang bukan muhrim, 5) Menyentuh qubul atau dubur dengan menggunakan telapak tangan. ----------------------------------------------------------------------------------------------- S: Siapa itu perempuan yang bukan muhrim? J: Perempuan yang bukan muhrim yaitu perempuan yang haram untuk dinikahi karena sebab nasab, atau sepe...