Bagaimana cara agar kita bisa bersabar..?
Sabar adalah sebuah amal islami yang penting sebagai bekal manusia untuk meraih sukses dalam meniti jalan kehidupan ini. Namun sayang, justru banyak manusia tidak bisa bersabar. Karena itu penting sekali kita mengetahui hal-hal yang harus kita lakukan agar kita bisa bersabar.
Banyak cara yang bisa dilakukan agar kita bisa bersabar. Di antaranya adalah;
1- Sabar adalah masalah hati, dan kadang-kadang kita tidak bisa mengendalikan hati kita sendiri, maka agar bisa bersabar adalah dengan berdo’a memohon kepada Allah dan bertawakkal kepadaNya
2- Menjalankan kewajiban-kewajiban yang telah diberikan oleh Allah juga akan menumbuhkan kesabaran. Berpuasa juga akan bisa mendorong kita bersabar, khususnya dalam menahan gejolak nafsu syahwat. Shalat juga akan menumbuhkan kesabaran. Zakat dan sedekah juga akan menumbuhkan kesabaran, khususnya dalam hal-hal yang berkaitan dengan harta.
3- Membaca al-Qur’an disertai dengan tadabbur (merenungkan) maknanya dan berdzikir (mengingat) Allah.
4- Membaca Sirah Rasulullah saw, kisah para nabi dan juga kisah para shahabat. Kita akan mendapatkan pelajaran penting bagaimana mereka bersabar, sehingga mendorong diri kita untuk ikut bersabar.
5- Berkawan dengan orang-orang yang berilmu agama. Ketika kita menghadapi ujian, mereka akan bisa memotifasi dan memberi nasihat kepada kita untuk bersabar
CARA BERSABAR
METODE PENGURUTAN DATA
Pengurutan (sorting) adalah proses mengatur sekumpulan objek menuruturutan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending) ataumenurun (descending). Bila N buah objek atau data disimpan di dalam larik L,maka pengurutan menaik berarti menyusun elemen larik sedemikian sehingga:L[1] > L[2] > L[3 > … > L[N]Sedangkan pengurutan menurun berarti menyusun elemen larik sedemikiansehingga:L[1] < L[2] < L[3 < … < L[N]Data yang diurut dapat berupa data bertipe dasar atau tipe terstruktur (record).Jika data bertipe terstruktur, maka harus dispesifikasikan berdasarkan field apadata tersebut diurutkan. Field yang dijadikan dasar pengurutan dikenal sebagaifield kunci.Adanya kebutuhan terhadap proses pengurutan memunculkan bermacammacammetode pengurutan.
Metode tersebut diantaranya adalah:
1). MetodePengurutan Gelembung (Bubble Sort)
2). Metode Pengurutan Pilih (SelectionSort)
3). Metode Pengurutan Sisip (Insertion Sort)
4). Metode Pengurutan Shell(Shell Sort)
5). Heap Sort
6). Quick Sort
7). Merge Sort
8). Radix Sort dan
9).Tree Sort.
Pada tulisan ini, tidak semua metode pengurutan akan dibahas.Tidak ada metode yang terbaik untuk pengurutan. Kebanyakan metodepengurutan sederhana hanya bagus untuk volume data yang kecil tetapi lambatuntuk ukuran data yang besar. Metode pengurutan yang lebih cepat pun (sepertiquick sort dan merge sort) memang bagus untuk mengurutkan data yang banyak,tetapi tidak bagus untuk ukuran data yang sedikit karena memerlukan bebantambahan (overhead) yang boros waktu dan memori.Metode pengurutan dapat diklasifikasikan sebagai berikut:a. Metode pengurutan internal, yaitu metode pengurutan untuk data yangdisimpan di dalam memori computer. Umumnya struktur internal yangdipakai untuk pengurutan internal adalah larik, sehingga pengurutaninternal disebut juga pengurutan larik.b. Metode pengurutan eksternal, yaitu metode pengurutan untuk datayang disimpan di dalam disk storage, disebut juga pengurutan arsip(file), karena struktur eksternal yang dipakai adalah arsip
.1. Metode Pengurutan Gelembung (Bubble Sort)
Metode ini memiliki prinsip pengapungan. Apabila kita menginginkanlarik terurut menaik, maka elemen larik yang berharga paling kecil ‘diapungkan’,artinya diangkat ke atas (atau ke ujung kiri larik) melalui proses pertukaran.Proses pengapungan ini dilakukan sebanyak N-1 langkah dengan N adalah ukuranlarik. Pada akhir setiap langkah ke-I, larik L[1..N] akan terdiri atas dua bagianyaitu bagian yang sudah terurut, yaitu L[1..I] dan bagian yang belum terurutL[I+1..N]. Setelah langkah terakhir, diperoleh larik L[1..N] yang terurut menaik. Pengurutan gelembung merupakan metode pengurutan yang tidak efisien. Hal inidisebabkan oleh banyaknya operasi pertukaran yang dilakukan pada setiaplangkah pengapungan. Untuk nukuran larik yang besar, pengurutan denganmetode ini membutuhkan waktu yang lama. Karena alasan itu, maka metode inijarang digunakan dalam praktek. Namun, kelebihan metode ini adalah padakesederhanaannya dan mudah dipahami
.2. Metode Pengurutan Pilih (Selection Sort)
Metode ini memilih elemen maksimum/minimum dari larik, lalumenempatkan elemen itu pada awal atau akhir larik (elemen terujung).Selanjutnya elemen terujung tersebut ‘diisolasi’ dan tidak disertakan pada prosesselanjutnya. Proses yang sama diulang untuk elemen larik yang tersisa, yaitumemilih elemen maksimum/minimum berikutnya dan mempertukarkannyadengan elemen terujung larik sisa. Dibandingkan dengan metode pengurutan gelembung, metode pengurutan pilihmemiliki kinerja yang lebih baik. Alasannya, operasi pertukaran elemen hanyadilakukan sekali saja dengan demikian lama pengurutannya berkurang
.3. Metode Pengurutan Sisip (Insertion Sort)
Algoritma pengurutan sisip untuk memperoleh elemen larik yang terurutmenaik. Kelemahan metode pengurutan sisip terletak pada banyaknya operasi pergeseranyang diperlukan dalam mencari posisi yang tepat untuk elemen larik. Untuk larikdengan N yang besar, jumlah operasi pergeseran meningkat secara kuadratik,sehingga pengurutan sisip kurang bagus untuk volume data yang besar
.4. Metode Pengurutan Shell (Shell Sort)
Metode shell sort pertama kali diperkenalkan oleh Donald L. Shell tahun1959. Metode ini didasarkan pada penukaran sepasang elemen untuk mencapaikeadaan urut. Dalam hal ini jarak elemen yang akan dibandingkan (kemudianditukarkan) ditentukan (biasanya jarak ini ditentukan dengan cacah data = ndibagi 2). Pada langkah pertama, elemen-elemen yang terpisahkan oleh jarak itudibandingkan dan jika perlu ditukarkan. Kemudian jarak dibagi 2 sehinggabernilai setengah jarak yang semula. Kemudian, pembandingan dan penukaran itudilanjutkan dengan jarak yang baru. Demikian selanjutnya hingga jarak samadengan 1
.5. Metode Merge Sort
Pada metode ini diterapkan pada dua buah larik yang digabungkankemudian kita ingin mengurutkannya. Larik masukan yang mempunyai N elemendianggap N buah larik yang masing-masing tersusun oleh 1 elemen. Untuk setiaplarik, kita lakukan penggabungan (merging) dengan larik di sebelahnya denganmeletakan elemen yang lebih kecil di sebelah kiri kemudian penggabunganditeruskan hingga mendapatkan kembali 1 larik yang utuh.Contoh Program Array dengan C++
contoh script program java script menggunakan array:
< html >
< head >
< title >Contoh Penggunaan Obyek Array< /title >
< script language=”JavaScript” >
< !–var arr = new Array(3);
arr[0] = “Ahmad”;
arr[1] = “Ali”;
arr[2] = “Eko”;
//contoh pertama
document.write (”1 ==> < br >”);
document.write(arr.join() + “< br / >”);
document.write(arr.join(”.”) + “< br >< br >”);
//contoh kedua
document.write (”2 ==> < br >”);
document.write(arr.reverse() + “< br >< br >”);
//contoh ketigadocument.write (”3 ==>
”);
document.write(arr + “
”);
document.write(arr.slice(1) + “
”);
document.write(arr.pop() + “
”)
//contoh ke empat
document.write (”4 ==>
”);
document.write(arr + “
”);
document.write(arr.shift() + “
”);
//contoh kelima
document.write (”5 ==>
”);
var arr = new Array(5);
arr[0] = “Eko”;
arr[1] = “Ali”;
arr[2] = “Ahmad”;
arr[3] = “Udin”;
arr[4] = “Joko”;
document.write(arr + “< br >”);
arr.splice(2,0,”Priyo”);
document.write(arr + “< br >”);
//–>
< /script >
< /head >
< body >
< /body >
< /html >
OOP & PROSEDURAL PROGRAMMING LANGUAGE
OOP
Object-Oriented Programming (OOP) adalah sebuah pendekatan untuk pengembangan / development suatu software dimana dalam struktur software tersebut didasarkan kepada interaksi object dalam penyelesaian suatu proses/tugas. Interaksi tersebut mengambil form dari pesan-pesan dan mengirimkannya kembali antar object tersebut. Object akan merespon pesan tersebut menjadi sebuah tindakan /action atau metode. Jika kita mencoba melihat bagaimana tugas disekitar kita diselesaikan, kita akan mengetahui bahwa kita berinteraksi dalam sebuah object-oriented world. Jika akan bepergian kita pasti berinteraksi dengan object mobil. Sebagai sebuah object, mobil berisi object-object lain yang berinteraksi untuk melakukan tugasnya membawa kita.
Object-oriented programs terdiri dari objects yang berinteraksi satu sama lainnya untuk menyelesaikan sebuah tugas. Seperti dunia nyata, users dari software programs dilibatkan dari logika proses untuk menyelesaikan tugas. Contoh, ketika kamu mencetak sebuah halaman diword processor, kamu berarti melakukan inisialisasi tindakan dengan mengklik tombol printer. Kemudian kamu hanya menunggu respon apakah job tersebut sukses atau gagal, sedangkan proses terjadi internal tanpa kita ketahui. Tentunya setelah kamu menekan tombol printer, maka secara simultan object tombol tersebut berinteraksi dengan object printer untuk menyelesaikan job tersebut.
Konsep OOP dimulai pertengahan 1960-an dengan sebuah bahasa program SIMULA kemudian dilanjutkan di era 70-an dengan SMALLTALK. Meskipun developer software tidak secara intensif mengembangkan OOP, tetapi metodologi object-oriented tetap digunakan.
Pada pertengahan 80-an, bahasa OOP seperti C++ dan Eifle menjadi popular diantara programmer computer. Popularitas OOP berlanjut pada tahun 90-an, banyak pengembang software menggunakan konsep OOP seperti Java dll. Di tahun 2002, versi terakhir dari Visual Studio, Microsoft memperkenalkan bahasa OOP baru yaitu C# (dibaca C-sharp) serta upgrade Visual Basic, dan ini merupakan sebuah bahasa OOP sesungguhnya
Ada tiga konsep utama yang ada di OOP.
Encapsulation yang selanjutnya nanti gua sebut enkapsulasi (penyembunyian informasi melaui private dan protected)
Inheritance yang selanjutnya gua sebut saja dengan inheriten (suatu kelas berasal dari turunan pertama atau lebih kelas lainnya)
Polymorphism yang selanjutnya ditulis dengan polimorpisme (kemampuan objek berubah menjadi objek yang lain)
Dari tiga konsep di atas, berikut adalah beberapa kelebihan OOP , yaitu: Pendekatan berorientasi masalah, segala sesuatu masalah bisa dimodelkan dengan objek
Penyembunyian informasi, hanya variabel-variabel tertentu saja yang bisa diakses sesuai dengan haknya
Reusability dan Ekstensibility, kode yang sudah ada bisa digunakan ulang, dan kemudahan dalam pengembangan kode
Meningkatkan maintenability, kesalahan atau kekurangan pada kode dapat langsung diperbaiki di blok kode tersebut.
Satu lagi yang ini gua tambahin, program bakal lebih terstruktur dan terorganisasi. Selain itu pengehematan penulisan kode program (kelebihan polimorpisme).
Sekarang kita bahas tentang tiga konsep itu, sebelumnya gua dikasih tau dulu yach bahwa OOP itu pasti menggunakan Class.
Enkapsulasi
Enkapsulasi atau pengkapsulan pada intinya adalah kita tidak perlu tau apa sih yang ada dalam objek itu (class), yang kita butuhkan adalah apa kegunaan, bagaimana cara memakainya dan apa yang akan terjadi. Ilustrasinya adalah motor. Gimana cara ngidupin motor? masukin kunci, tekan tombol starter . Mudah bukan? Kita tidak perlu tahu apa sih yang terjadi sebenarnya pas kita mencet starter , taunya motor hidup trus bisa dijalankan. Ilustrasi lainnya adalah remote control tanpa kabel pada mobil-mobilan. Kita kan tidak perduli kerja remote control itu yang sebenarnya, yang penting begitu dihidupin dan dan stiknya digerakin ke atas dia bakal maju. Begitu digerakin ke kanan, dia bakal belok, dst.
Contoh terakhir adalah jam tangan. Ini juga penjelasan yang paling mudah dipahami. Taukan fungsi jam? betul, buat nunjukin waktu. Pas beli jam tangan kita hanya memilih tampilan dan kualitas yang bagus, itu yang terpenting. Masa bodo dengan cara mesin rangkaian digital yang bekerja di dalam jam itu.
Gimana ngertikan konsep enkapsulasi? intinya kita hanya perlu tau apa kegunaannya, gimana cara memakainya dan hasilnya apa.
Enheriten
Yang ini intinya adalah mengembangkan class yang sudah ada. Jadi kita tidak perlu membentuk dari awal lagi, class yang sudah ada bisa dimodifikasi dan/atau ditambah fungsinya sesuai dengan kebutuhan. Ada yang bisa ditambah ada yang dimodifikasi. Sekarang ilustrasi yang ditambah dulu yach... Contohnya sama dengan enkapsulasi, dulu mobil remote kontrol tanpa kabel hanya ada satu tombol. bila dipencet mobilnya akan maju, dan kalo gak dipencet mobilnya muter-muter terus searah jarum jam. Sekarang bisa bergerak sesuai keinginan kita.
Contoh lain adalah tentang jam tangan. Dulu fungsi jam tangan hanya sebagai penunjuk waktu saja, tapi sekarang fungsinya sudah nambah, dari yang bisa nampilin tanggal sampe kalender.
Sekarang contoh yang dimodifikasi. Jika dulu perseneling mobil hanya manual sekarang sudah ada yang otomatis.
Jadi, dengan inheriten semua perubahan itu gak merubah bulat-bulat objek yang ada, tetapi hanya menambah dan memodifikasi dengan mempertahankan objek (class) awalnya.
Polimorpisme
Ini adalah inti dari OOP. Nilai yang gua berikan 50 untuk polimorpisme, 30 inheriten dan 20 enkapsulasi. Sebab dengan satu baris perintah kita bisa menggunakannya untuk berbagai keperluan, fungsi itu akan menyesuaikan sendiri ke pemanggilnya. Ilustrasinya adalah tombol play. Dimana-mana tombol play fungsinya sama, untuk menjalankan. Coba liat, padahal kan beda cara kerja tombol play di vcd dan radio.
PROSEDURAL PROGRAMMING LANGUAGE
Paradigma ini didasari oleh konsep mesin Von Newmann, yang terdiri dari sekelompok tempat penyimpanan (memory) baik memory instruksi dan juga memory data, yang kedua-duanya sama-sama mempunyai nama dan harga.Prosesnya, instruksi akan dieksekusi satu persatu secara sequensial oleh sebuah pemroses tunggal. Beberapa instruksi menentukan instruksi selanjutnya yang akan dieksekusi pula nantinya. Hal ini dikenal sebagai percabangan kondisional. Selanjutnya, data diperiksa dan dimodifikasi secara sequensial pula.Pemrograman dalam paradigma prosedural dilakukan dengan memberikan serangkaian perintah yang berurutan.Program dalam paradigma ini didasari pada strukturisasi informasi dalam memory dan manipulasi dari informasi yang disimpan tersebut. Pendekatan di sini menggunakan kata kunci:ALGORITMA + STRUKTUR DATA = PROGRAM
1. 1. Algoritma
Algoritma adalah serangkaian langkah-langkah yang tepat, terperinci, dan terbatas untuk menyelesaikan suatu masalah. Langkah yang tepat artinya serangkaian langkah tersebut selalu benar untuk menyelesaikan masalah yang diberikan. Langkah yang tidak memberikan hasil yang benar untuk domain masalah yang diberikan bukanlah sebuah algoritma.Langkah yang terperinci artinya setiap langkah diberikan secara detail dan dapat dieksekusi oleh komputer, instruksi seperti “angkat sedikit ke kiri” merupakan contoh instruksi yang tidak tepat, karena “sedikit” tidak menyatakan sesuatu dengan tepat.Langkah yang diberikan harus terbatas, artinya suatu saat langkah harus berhenti, jika langkah tidak pernah berhenti (misalnya: “ambil air, masukkan ke bak mandi, ulangi ambil air, dan seterusnya”) maka serangkaian langkah itu tidak disebut sebagai algoritma (jika: “ambil air, masukkan ke bak mandi, ulangi ambil air sampai bak mandi penuh”, maka bisa disebut algoritma, namun langkah ambil air, masukkan ke bak mandi, harus diperinci dan dapat dieksekusi oleh mesin).
1. 2. Konstruktor (elemen) Pemrograman Prosedural
Elemen bahasa pemrograman prosedural yang penting adalah:*Program utama*Tipe*Konstanta*Variabel*Ekspresi, operator, dan operand*Struktur Data*Instruksi dasar*Program Moduler*File eksternal*Rekurens
1. 3. Input, Proses, dan Output
Sekumpulan aksi dalam pemrograman prosedural bisa dibagi menjadi tiga bagian penting yaitu: input, proses, dan output. Bagian input, proses, dan output dikerjakan secara sekuensial, dan dalam setiap bagian mungkin akan ada input, proses, dan output.
2. CONTOH PROGRAM BERPARADIGMA PROSEDURAL
*Algol,*Pascal,*Fortran,*Basic,*Cobol,*C,*dll
Ok dech, itu teori yang bisa dikasih. Mudah-mudahan ada gambaran walaupun sedikit :D
KODE ASCII
Kode ASCII
Kode ASCII (American Standard Codes for International Interchange) adalah kumpulan kode-kode yang dipergunakan untuk mempermudah interaksi antara user dan komputer.
“Interaksi” yang dimunculkan pada artian kalimat tersebut adalah sebuah sarana untuk menyelesaikan permasalahan hubungan antara komputer yang hanya mengenal angka, sedangkan manusia tidak mungkin harus menghafalkan angka yang cukup banyak tersebut dan mempergunakan keyboard sebagai masukan atas perintah yang diinginkannya.
Kode ASCII me-representasikan kode-kode untuk :
Angka (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
Huruf ( a - z, A - Z )
Simbol ( &, ^, %, $ @ .. )
Tombol ( Enter, Esc, Backspace, Space, Tab, Shift, Ctrl )
Karakter Grafis ( kode ASCII Standar nomor 128 s/d 255 )
Kode Komunikasi ( ETX, STX, ENQ, ACK .. )
Kompleksnya kode-kode dalam ASCII ini akhirnya perlu untuk dibagi menjadi 2 (dua) bagian, yaitu :
Kode Standard ASCII
Kode Extended ASCII
Masing-masing jenis Kode ASCII tersebut sebanyak 255 buah, atau dapat disebut juga sebagai 255 karakter, karena memang 1 (satu) kode ASCII berukuran 1 Byte ( 8 bit ).
Kode ASCII Standard
Kode ini merepresentasikan angka, huruf serta tombol standar, Enter, Escape, Backspace dan Space. Selain itu juga terdapat karakter-karakter yang tidak terdapat pada keyboard, yang dapat diaktifkan dengan melakukan penekanan tombol kombinasi “Alt” dan angka yang dimaksud, sebagai contoh tombol kombinasi “Alt” dan angka “127″ akan menghasilkan karakter grafis.
Karakter dasar lain juga digunakan untuk komunikasi, seperti yang Anda ketahui bersama, karakter tersebut adalah “ACK” dan “ENQ”. Pada saat akan dilakukan komunikasi pada jaringan dengan protokol Ethernet, maka bentuk komunikasi yang terjadi adalah komputer akan mengirimkan “ACK” (Acknowledge) pada komputer lain yang akan berkomunikasi, jika komputer lain merespon, maka komputer tersebut akan membalasnya dengan mengirim “ENQ” (Enquiry).

Karakter ASCII nomor 5 dan nomor 6 akan bertindak untuk kondisi ini.
Kode ASCII Extended
Kode ASCII Extended akan bertindak sebagai kode perluasan (extended) dari kode ASCII yang ada, karena tidak semuanya mampu tertampung dalam kode ASCII standard.
Kode ASCII jenis ini lebih banyak bertindak sebagai kode-kode tombol khusus, seperti kode untuk tombol F1 s/d F12. Sebagai contoh adalah kode ASCII extended untuk F12 adalah “123″.
Belum lagi dengan tombol kombinasi, misalnya “Alt” dan “F1″, “Ctrl” dan “F1″, atau tombol-tombol yang biasa kita lakukan “Alt” + “F” untuk membuka menu file, “Ctrl” dan “O” untuk membuka dokumen dsb.


tabel kode ASCII diambil pada situs http://www.asciitables.com
Programming
Untuk menampilkan kode ASCII dengan menggunakan bahasa pemrograman adalah sebagai berikut :
Pemrograman Basic | |
| cls |
Pemrograman Pascal | |
| uses crt; |
Pemrograman C/C++ | |
| #include { int i; |
Bagaimana dengan Visual Basic ? atau Delphi ? untuk menangkap kode tombol yang ada, dapat Anda buat program sederhana dengan menempatkannya pada komponen visual “Text” pada VB6, “TextBox” pada VB.NET dan “Edit” pada Delphi.
Tempatkan komponen tersebut pada form, setelah itu tuliskan program pada event “OnKeyDown“.
Berikut program yang dituliskan pada event tersebut.
Pemrograman Visual Basic 6.0 | |
| MsgBox ( KeyCode ) |
Pemrograman Visual Basic .NET | |
| MsgBox ( e.KeyCode ) |
Pemrograman Delphi | |
| ShowMessage( IntToStr(Key) ); |
Tampilan yang disajikan adalah “nomor” kode ASCII tombol yang ditekan. Pada contoh program berikut penekanan dilakukan pada tombol “A”.


