Selasa, 13 Desember 2011

kata-kata mutiara cinta

Persahabatan sering berakhir dengan cinta
Tetapi cinta kadang berakhir BUKAN dengan persahabatan

Kita harus sedikit menyerupai satu sama lain
untuk mengerti satu sama lain
Tetapi kita harus sedikit berbeda
Untuk mencintai satu sama lain

Cinta yang belum matang berkata:
"Aku cinta kamu karena aku butuh kamu"
Cinta yang sudah matang berkata:
"Aku butuh kamu karena aku cinta kamu"

Selasa, 01 November 2011

cara menggunakan keylogger

Sebelum saya membahas tentang Tutorial Menggunakan Keylogger, ada baiknya saya menjelaskan terlebih dahulu apa itu keylogger. Munkgkin sobat-sobat blogger ada yang belum tahu, dan bagi yang sudah tahu tentang keylogger ini, mohon koreksinya bila menemukan kesalahan di tutorial saya ini. Okeh?? Hehehe

Keyloger, apa itu keylogger?? kalau menurut saya, keylogger adalah sebuah software atau piranti lunak yang berfungsi untuk mencatat segala aktivitas yang kita lakukan di computer. Mulai dari kita menekan a-z, 0-9, kombinasi keyboard seperti ctrl+C dan lain-lain akan tercatat oleh keylogger.

Sabtu, 29 Oktober 2011

cra mengembalian char

cara mengembalikan char yang hilang atau di hack....
kirimlah email ke id@gemscool.com dengan isi sebagai berikut :


Kepada GM yang terhormat,

id saya telah di bajak oleh orang dan saya tidak ingat pertanyaan
pengaman tapi saya masih ingat beberapa hal:

1.username(buat login):
2.Nama:
3.Alamat:
4.Kota:
5.no telp/no hp:
6.email(buat daftar pb kemarin):
7.sequrity question dan sequritycode saya tidak ingat(maklum udah lama )
8.terakhir login saya menggunakan password (password terakhit yang di gunakan)
9.dan kalo tidak salah saya login terakhir (login terakhit)

tolong gm kembalikan char saya yang di hack,

atas perhatianya saya ucapkan terima kasih



Semoga membantu

Kamis, 27 Oktober 2011

New Cheat Recruit Admin Ninja Saga With Charles

New Cheat Recruit Admin Ninja Saga With Charles


Tools yang di perlukan:
1. Charles :   Download
2. Google Chrome/Firefox
3. Kepintaran

Selasa, 04 Oktober 2011

Cara Menampilkan Gambar Background Pada Folder

Cara Menampilkan Gambar Background Pada Folder
Mungkin anda pernah melihat gambar background yang nampak pada saat kita membuka window atau meng-explore suatu folder pada Komputer windows.
Bila anda belum mengetahui cara menambahkan gambar pada background folder tentunya akan keheranan dan bertanya tanya apakah ini virus atau kalau bukan bagaimana cara memasang gambar tersebut. Seperti yang terlihat pada gambar di bawah ini.
Pada kali ini esc-creation akan membahas bagaimana cara menambahkan gambar pada background pada folder computer windows. Ternyata sangatlah untuk memasang gambar pada background folder. Dengan menggunakan sebuah aplikasi atau software kecil kita dapat merubah tampilan polos background folder dengan menghiasinya dengan gambar yang menarik sesuai dengan keinginan kita.
Disamping menambahkan gambar background kita juga bisa mengganti warna text nama file pada folder tersebut, sesuai dengan keinginan kita. Tweaking Custom Background Image folder ini bisa anda gunakan pada semua jenis file system hardisk atau Flash disk baik NTFS maupun Fat.
Berikut langkah cara mengganti gambar Background Folder :
  1. Download aplikasi Custom Image Folder Wizard di sini.
  2. Jalankan program tersebut dan pilih opsi “Choose a background picture” dan kik next.
  3. Pada opsi pilihan background picture this folder anda pilih Browse.
  4. Cari gambar yang akan ada gunakan untuk background, pilih files type sesuai dengan type file gambar yang anda gunakan seperti bitmap (bmp), JPEG (jpg) atau GIF (gif).
  5. Klik gambar yang anda pilih dan klik open (Sebaiknya file gambar anda simpan di folder yang sama yang ingin anda tambahkan gambar background)
  6. Untuk menggganti warna tulisan atau opsi Icon caption colors pilih kotak warna sesuai dengan yang anda inginkan.
  7. Klik Next dan Finish.
  8. Klik Refresh dan jreng ….. Tampilah gambar yang menghiasi folder anda.
  9. Setelah selesai anda bisa menghapus aplikasi tersebut atau memindahkan di tempat lain.
  10. Untuk menghapus gambar background folder ada cukup menghapus gambar atau ganti nama atau rename file gambar yang anda gunakan untuk background folder tersebut.
Silahkan mencoba dan Hiasilah background folder dengan gambar yang menarik sesuai dengan keinginan anda.

Kamis, 29 September 2011

Pengertian Manajemen

Pengertian Manajemen

Istilah manajemen berasal dari kata management (Bahasa Inggris), berasal dari kata "to manage" yang artinya mengurus atau tata laksana. Sehingga manajemen dapat diartikan bagaimana cara mengatur, membimbing dan memimpin semua orang yang menjadi bawahannya agar usaha yang sedang dikerjakan dapat mencapai tujuan yang telah ditetapkan sebelumnya. Banyak ahli yang memberikan definisi tentang manajemen, diantaranya:

1. Harold Koontz & O' Donnel
dalam bukunya yang berjudul "Principles of Management" mengemukakan, "Manajemen adalah berhubungan dengan pencapaian sesuatu tujuan yang dilakukan melalui dan dengan orang-orang lain".

2. George R. Terry
dalam buku dengan judul "Principles of Management" memberikan definisi: "Manajemen adalah suatu proses yang membedakan atas perencanaan, pengorganisasian, penggerakkan pelaksanaan dan pengawasan, dengan memanfaatkan baik ilmu maupun seni, agar dapat menyelesaikan tujuan yang telah ditetapkan sebelumnya".

3. Ensiclopedia of The Social Sciences

Manajemen diartikan sebagai proses pelaksanaan suatu tujuan tertentu yang diselenggarakan dan diawasi.

4. Mary Parker Follet

Manajemen adalah seni dalam menyelesaikan pekerjaan melalui orang lain.

5. Thomas H. Nelson

Manajemen perusahaan adalah ilmu dan seni memadukan ide-ide, fasilitas, proses, bahan dan orang-orang untuk menghasilkan barang atau jasa yang bermanfaat dan menjualnya dengan menguntungkan.

6. G.R. Terri,

Manajemen diartikan sebagai proses yang khas yang terdiri atas perencanaan, pengorganisasian, pelaksanaan dan pengawasan yang dilakukan untuk menentukan dan usaha mencapai sasaran-sasaran dengan memanfaatkan sumber daya manusia dan sumber daya lainnya.

7. James A. F. Stoner

Manajemen diartikan sebagai proses perencanaan, pengorganisasian, kepemimpinan, dan pengawasan upaya (usaha-usaha) anggota organisasi dan menggunakan semua sumber daya organisasi untuk mencapai tujuan yang telah ditetapkan.

8. Oei Liang Lie

Manajemen adalah ilmu dan seni perencanaan pengorganisasian, pengarahan, pengkoordinasian dan pengawasan sumber daya manusia dan alam, terutama sumber daya manusia untuk mencapai tujuan yang telah ditentukan.

Prinsip manajemen adalah dasar-dasar atau pedoman kerja yang bersifat pokok yang tidak boleh diabaikan oleh setiap manajer/pimpinan. Dalam prakteknya harus diusahakan agar prinsip-prinsip manajemen ini hendaknya tidak kaku, melainkan harus luwes, yaitu bisa saja diubah-ubah sesuai dengan kebutuhan. Prinsip-prinsip manajemen terdiri atas :

1. Pembagian kerja yang berimbang. Dalam membagi-bagikan tugas dan jenisnya kepada semua kerabat kerja, seorang manajer hendaknya bersifat adil, yaitu harus bersikap sama baik dan memberikan beban kerja yang berimbang.

2. Pemberian kewenangan dan rasa tanggung jawab yang tegas dan jelas Setiap kerabat kerja atau karyawan hendaknya diberi wewenang sepenuhnya untuk melaksanakan tugasnya dengan baik dan mempertanggung jawabkannya kepada atasan secara langsung.

3. Disiplin adalah kesedian untuk melakukan usaha atau kegiatan nyata (bekerja sesuai dengan jenis pekerjaan yang menjadi tugas dan tanggung jawabnya) berdasarkan rencana, peraturan dan waktu (waktu kerja) yang telah ditetapkan.

4. Kesatuan perintah. Setiap karyawan atau kerabat kerja hendaknya hanya menerima satu jenis perintah dari seorang atasan langsung (mandor/kepala seksi/kepala bagian), bukan dari beberapa orang yang sama-sama merasa menjadi atasan para karyawan/kerabat kerja tersebut.

5. Kesatuan arah. Kegiatan hendaknya mempunyai tujuan yang sama dan dipimpin oleh seorang atasan langsung serta didasarkan pada rencana kerja yang sama (satu tujuan, satu rencana, dan satu pimpinan).

 

Manajemen adalah proses pencapaian tujuan melalui kerja orang lain.
Dengan demikian berarti dalam manajemen terdapat minimal 4 (empat) ciri, yaitu:

1. Ada tujuan yang hendak dicapai

2. Ada pemimpin (atasan)

3. Ada yang dipimpin (bawahan)

4. Ada kerja sama.

 
Fungsi dan Tujuan Manajemen

Keberhasilan suatu kegiatan atau pekerjaan tergantung dari manajemennya. Pekerjaan itu akan berhasil apabila manajemennya baik dan teratur, dimana manajemen itu sendiri merupakan suatu perangkat dengan melakukan proses tertentu dalam fungsi yang terkait. Maksudnya adalah serangkaian tahap kegiatan mulai awal melakukan kegiatan atau pekerjaan sampai akhir tercapainya tujuan kegiatan atau pekerjaan.

Pembagian fungsi manajemen adalah sebagai berikut.
Planning
Fungsi perencanaan adalah suatu kegiatan membuat tujuan perusahaan dan diikuti dengan membuat berbagai rencana untuk mencapai tujuan yang telah ditentukan tersebut.
Dalam perencanaan ada beberapa faktor yang harus dipertimbangkan. Yaitu harus SMART yaitu
Specific artinya perencanaan harus jelas maksud maupun ruang lingkupnya. Tidak terlalu melebar dan terlalu idealis.
Measurable artinya program kerja atau rencana harus dapat diukur tingkat keberhasilannya.
Achievable artinya dapat dicapai. Jadi bukan anggan-angan.
Realistic artinya sesuai dengan kemampuan dan sumber daya yang ada. Tidak terlalu mudah dan tidak terlalu sulit. Tapi tetap ada tantangan.
Time artinya ada batas waktu yang jelas. Mingguan, bulanan, triwulan, semesteran atau tahunan. Sehingga mudah dinilai dan dievaluasi

 
Organizing  
Fungsi perngorganisasian adalah suatu kegiatan pengaturan pada sumber daya manusia dan sumberdaya fisik lain yang dimiliki perusahaan untuk menjalankan rencana yang telah ditetapkan serta menggapai tujuan perusahaan
Agar tujuan tercapai maka dibutuhkan pengorganisasian. Dalam perusahaan biasanya diwujudkan dalam bentuk bagan organisasi. Yang kemudian dipecah  menjadi berbagai jabatan. Pada setiap jabatan biasanya memiliki tugas, tanggung jawab, wewenang dan uraian jabatan (Job Description).
Semakin tinggi suatu jabatan biasanya semakin tinggi tugas, tanggung jawab dan wewenangnya. Biasanya juga semakin besar penghasilannya.
Dengan pembagian tugas tersebut maka pekerjaan menjadi ringan. Berat  sama dipikul, ringan sama dijinjing. Disinilah salah satu prinsip dari  manajemen. Yaitu membagi-bagi tugas sesuai dengan keahliannya masing-masing.

 
Actuating
Perencanaan dan pengorganisasian yang baik kurang berarti bila tidak diikuti dengan pelaksanaan kerja. Untuk itu maka dibutuhkan kerja keras, kerja cerdas dan kerjasama. Semua sumber daya manusia yang ada harus dioptimalkan untuk mencapai visi, misi dan program kerja organisasi.
Pelaksanaan kerja harus sejalan dengan rencana kerja yang telah  disusun. Kecuali memang ada hal-hal khusus sehingga perlu dilakukan penyesuian. Setiap SDM harus bekerja sesuai dengan tugas, fungsi dan perannya masing-masing. Tidak boleh saling jegal untuk memperebutkan lahan basah  misalnya.
Karena pada dasarnya pekerjaan utama pada organisasi bisnis adalah mencari laba. Namun untuk kemudahan dan efektifitas maka pekerjaan tersebut dibagi-bagi  sesuai dengan keahlian dan kompetensi masing-masing SDM.
Begitupun dalam organisasi da'wah. Tidak boleh saling serobot  pekerjaan. Yang memiliki kompetensi tabligh menjadi khatib. Yang memiliki  potensi membina dia menjadi murabbi (pendidik). Yang memiliki kompetensi  keuangan akuntansi menjadi business support (pendukung bisnis).

 
Controlling
Fungsi pengendalian adalah suatu aktivitas menilai kinerja berdasarkan standar yang telah dibuat untuk kemudian dibuat perubahan atau perbaikan jika diperlukan
Agar pekerjaan berjalan sesuai dengan visi, misi, aturan dan program kerja maka dibutuhkan pengontrolan. Baik dalam bentuk supervisi, pengawasan, inspeksi hingga audit. Kata-kata tersebut memang memiliki makna yang berbeda, tapi yang terpenting adalah bagaimana sejak dini dapat diketahui penyimpangan-penyimpangan yang terjadi. Baik dalam tahap perencanaan, pelaksanaan maupun pengorganisasian.

Sehingga dengan hal tersebut dapat segera dilakukan koreksi, antisipasi dan penyesuaian-penyesuaian sesuai dengan situasi, kondisi dan perkembangan zaman.

Senin, 26 September 2011

Definisi Manajemen menurut Para Ahli :

Definisi Manajemen menurut Para Ahli :

1.  Menurut Dr. SP. SIAGIAN dalam buku  “FILSAFAT ADMINISTRASI” MANAGEMENT DAPAT DIDEFINISIKAN SEBAGAI “KEMAMPUAN ATAU KETERAMPILAN UNTUK MEMPEROLEH SUATU HASIL DALAM RANGKA PENCAPAIAN TUJUAN MELALUI ORANG LAIN”.
DENGAN DEMIKIAN DAPAT PULA DIKATAKAN BAHWA MANAGEMENT MERUPAKAN INTI DARIPADA ADMINISTRASI KARENA MEMANG MANAGEMENT MERUPAKAN ALAT PELAKSANA UTAMA DARIPADA ADMINSITRASI
2. Menurut Prof. Dr. H. ARIFIN ABDULRACHMAN dalam buku “KERANGKA POKOK-POKOK MANAGEMENT” DAPAT DIARTIKAN :
a. KEGIATAN-KEGIATAN/AKTIVITAS-AKTIVITAS;
b. PROSES,  YAKNI KEGIATAN  DALAM  RENTETAN  URUTAN- URUTAN;
c. INSITUT/ ORANG – ORANG YANG MELAKUKAN KEGIATAN ATAU PROSES KEGIATAN

3. Menurut ORDWAY TEAD yang disadur oleh DRS. HE. ROSYIDI dalam buku “ORGANISASI DAN MANAGEMENT“, definisi Manajemen adalah “PROSES DAN KEGIATAN PELAKSANAAN USAHA MEMIMPIN DAN MENUNJUKAN ARAH PENYELENGGARAAN TUGAS SUATU ORGANISASI DI DALAM MEWUJUDKAN TUJUAN YANG TELAH DITETAPKAN “.
4. Menurut “Marry Parker Follet” :
MANAJEMEN SEBAGAI SENI DALAM MENYELESAIKAN PEKERJAAN MELALUI ORANG LAIN”.
5.  Menurut James A.F. Stonner :
MANAJEMEN ADALAH PROSES PERENCANAAN, PENGORGANISASIAN, PENGARAHAN DANPENGAWASAN USAHA-USAHA PARA ANGGOTA ORGANISASI DAN PENGGUNAAN SUMBER-SUMBER DAYA ORGANISASI LAINNYA AGAR MENCAPAI TUJUAN ORGANISASI YANG DITETAPKAN”.
JADI DAPAT DISIMPULKAN MANAJEMEN ADALAH PROSES KEGIATAN DENGAN MELALUI ORANG LAIN UNTUK MENCAPAI SUATU TUJUAN TERTENTU SERTA DILAKSANAKAN SECARA BERURUTAN BERJALAN KE ARAH SUATU TUJUAN.


Berikut ini adalah FUNGSI-FUNGSI MANAJEMEN menurut Para Ahli :
1. Menurut  George R.Terry
- Perencanaan (Planning);
- Pengorganisasian (Organizing);
- Penggerakan (Actuating);
- Pengawasan (Controlling).

2. Menurut Luther M. Gulick yang disadur oleh Dr. BN.Silalai
- Perencanaan (Planning);
- Mengorganisir (Organizing);
- Melengkapkan Tenaga Kerja (Staffing);
- Mengarahkan (Directing);
- Menyelaras/Mengkoordinir (Coordinating);
- Melaporkan (Reporting);
- Menyusun Anggaran (Budgeting).

3. Menurut Henry Fayol
- Perencanaan (Planning);
- Mengorganisir (Organizing);
- Memerintah (Commanding);
- Mengkoordinir (Coordinating);
- Mengawasi (Controlling).

4. Menurut Koontz dan O. Donnel
- Perencanaan (Planning);
- Mengorganisir (Organizing);
- Melengkapkan Tenaga Kerja (Staffing);
- Mengarahkan (Directing);
- Mengawasi (Controlling).

Sabtu, 24 September 2011

http://caramembuatwebsite.com/bonus/bonus.zip

menbuat web

Kini saatnya kita melanjutkan tutorial web kita yang membahas cara membuat web dengan menggunakan Macromedia Dreamweaver. Dibagian pertama tutorial berkelanjutan ini kita telah mengenal sekilas mengenai profil Dreamweaver sebagai salah satu software web design. Bahkan pembaca mungkin sudah mencoba mendownload dreamweaver cs4 yang merupakan versi terbaru saat posting ini saya rilis. Oke deh, saya asumsikan pembaca sudah mendownload dan sudah menginstal dreamweaver baik itu yang asli dan sudah di-purchase, trial, maupun yang versi tak asli yang serial number-nya didapat dari crack-crack-an, kayak saya ini :D. Atau kalau belum menginstal juga tidak masalah kok. Dreamweaver tidak membuat kita pintar, tapi kita yang membuat dreamweaver menjadi pintar. Gimana caranya? Dibagian ini kita akan mempelajari dasar-dasar dreamweaver untuk membuat website.

  1. Silahkan jalankan program Dreamweaver jika pembaca telah menginstalnya.
  2. Pada menu utama, pilih File --> New, maka akan muncul tampilan pilihan jenis dokumen baru yang ingin kita buat. Maksudnya adalah kita memilih apakah ingin membuat halaman web basic (statis), web dinamis (biasanya untuk web berbasis database), halaman template, dan lain-lain. Setiap kategori terdiri dari beberapa jenis dokumen. Menurut saya jenis ini dibedakan berdasarkan bahasa dan fungsi yang akan digunakan untuk halaman website yang akan kita buat. Karena saat ini kita mencoba belajar yang dasar terlebih dahulu, maka silahkan pilih kategori Basic Page dan jenisnya HTML.
  3. Tampilan layar desain Dreamweaver terdiri dari 3 jenis, yaitu code, split, dan design.
    Layar Code berfungsi sebagai tempat kita membuat halaman web dengan mengetik bahasa pemograman secara langsung. Artinya, layar inilah yang menampilkan struktur bahasa pemograman web yang dipakai pada halaman web yang sedang kita buat. Pada bagian design, kita membuat website dengan menggunakan menu-menu yang tersedia, misalnya menu menambahkan gambar, membuat tabel, mengatur tampilan tulisan, dan lain-lain. Kita tidak perlu mengetik bahasa pemograman halaman web yang kita buat karena secara otomatis, setiap kita menambahkan sebuah elemen, maka dreamweaver akan menerjemaahkannya kedalam kalimat-kalimat bahasa pemograman yang kita gunakan. Inilah keunggulan dreamweaver dibanding notepad, frontpage, dan mungkin yang lainnya. Karena pada dreamweaver sudah tersedia menu-menu yang siap pakai untuk mendesain halaman web. Selain itu, interface-nya juga sangat bagus dan mudah digunakan. Bagian split berguna untuk membagi halaman kerja dreamweaver menjadi 2, separuh untuk menampilkan layar code, dan separuh lagi menampilkan layar design. Hal ini berguna jika kita ingin mendesain halaman melalui layar design namun ingin melihat perubahan kode bahasa webnya, dan juga sebaliknya. Jika pembaca masuk ke layar Code, Anda akan melihat struktur HTML seperti yang pernah saya tunjukkan pada postingan yang ini. Sebagai contoh struktur:

    <title>Untitled Document</title>
    dimana struktur tersebut berfungsi untuk mendefenisikan judul halaman web kita yang akan muncul di title bar browser.
  4. Dibagian kiri atas dibawah menu File, terdapat menu dropdown yang terdiri dari beberapa pilihan. Pilihan ini berguna untuk memilih menu-menu desain yang akan kita gunakan. Misalnya kita ingin menambah gambar, maka pilih Common, maka disebelah kanannya akan muncul menu-menu bergambar yang bisa kita gunakan, salah satunya untuk memasukkan gambar ke halaman website.
  5. Coba pembaca masuk ke layar Design seperti yang saya jelaskan pada poin 3. Setelah memilih bagian tersebut, dibagian bawah pembaca akan melihat bagian Properties. Bagian ini berfungsi untuk mengatur tampilan dari elemen-elemen yang kita tambahkan kedalam halaman web yang kita buat. Menu-menu Properties ini hanya terlihat jika kita bekerja pada layar Design.
  6. Dibagian samping, terdapat pula bagian yang bernama Panel. Salah satu fungsi panel ini adalah untuk mengatur file-file web yang telah kita buat.
  7. Dibagian atas tepatnya disamping menu pilihan layar, ada kotak isian bernama Title. Bagian berfungsi untuk memberikan judul halaman web yang sedang kita buat yang akan muncul pada title bar browser.
    Fungsi ini sama seperti yang dijelaskan pada poin 3 diatas mengenai tag title. Coba pembaca ganti tulisan yang ada di kotak tersebut menjadi misalnya "Tutorial Website Dengan Dreamweaver". Setelah itu, kembali ke layar code dan lihat perubahan yang terjadi pada bagian tag <title>.

diagram sistem komputer 2

2. kegiatan system operasi

Dalam kegiatannya sehari-hari, sistem operasi memiliki sebuah mekanisme proteksi untuk memastikan dirinya, semua program yang berjalan, dan data-data penggunanya berjalan dengan baik. Untuk melakukan hal tersebut, sistem operasi memiliki dua jenis ( mode) operasi yang saling terpisah. Dua operasi tersebut, yaitu user mode, eksekusi program dikendalikan oleh pengguna, dan kernel mode, eksekusi program dikendaikan oleh sistem operasi, dinamakan dual-mode operation.
Dual-mode operation diimplementasikan pada arsitektur perangkat keras. Sebuah bit yang disebut mode bit ditambahkan ke perangkat keras untuk menunjukkan mode operasi saat itu: 0 untuk kernel mode dan 1 untuk user mode.
Dengan adanya dual-mode operation, eksekusi sebuah program/proses bisa dibedakan sumbernya, apakah dieksekusi oleh sistem operasi atau dieksekusi oleh pengguna. Hal ini akan sangat berguna dalam berjalannya sistem operasi.
Selain itu, sistem operasi memiliki sebuah mekanisme untuk melindungi prosesor dari berbagai macam program yang berjalan. Bayangkan jika ada sebuah proses mengalami infinite loop. Tentu saja prosesor akan terus menerus melayani program itu dan menghambat proses lainnya yang akan dieksekusi prosesor, dan hal ini bisa dipastikanakan mengurangi kinerja dari komputer.
Perlindungan prosesor tersebut dilakukan dengan timer. Timer diset untuk melakukan interupsi prosesor setelah beberapa periode waktu. Dengan adanya timer, sebuah program bisa dicegah dari berjalan terlalu lama. Misalkan sebuah program memiliki time limit 7 menit. Setelah 7 menit tersebut terlewati, sistem operasi akan menginterupsi prosesor dan menghentikan eksekusi program tersebut.



3. Layanan sisitem operasi
Layanan sistem operasi dirancang untuk membuat pemrograman menjadi lebih mudah.
1. Pembuatan Program
Sistem operasi menyediakan berbagai fasilitas yang membantu programer dalam membuat program seperti editor. Walaupun bukan bagian dari sistem operasi, tapi layanan ini diakses melalui sistem operasi.
2. Eksekusi Program
Sistem harus bisa me-load program ke memori, dan menjalankan program tersebut. Program harus bisa menghentikan pengeksekusiannya baik secara normal maupun tidak (ada error)
3. Operasi I/O
Program yang sedang dijalankan kadang kala membutuhkan I/O. Untuk efisiensi dan keamanan, pengguna biasanya tidak bisa mengatur peranti I/O secara langsung, untuk itulah sistem operasi harus menyediakan mekanisme dalam melakukan operasi I/O.
4. Manipulasi Sistem Berkas
Program harus membaca dan menulis berkas, dan kadang kala juga harus membuat dan menghapus berkas.
5. Komunikasi
Kadang kala sebuah proses memerlukan informasi dari proses yang lain. Ada dua cara umum dimana komunikasi dapat dilakukan. Komunikasi dapat terjadi antara proses dalam satu komputer, atau antara proses yang berada dalam komputer yang berbeda, tetapi dihubungkan oleh jaringan komputer. Komunikasi dapat dilakukan dengan pembagian memori(penggunaan bersama, share-memory)atau message-passsing, dimana sejumlah informasi dipindahkan antara proses oleh sistem operasi.
6. Deteksi Error
Sistem operasi harus selalu waspada terhadap kemungkinan error. Error dapat terjadi di CPU dan memori perangkat keras, I/O, dan di dalam program yang dijalankan pengguna. Untuk setiap jenis error sistem operasi harus bisa mengambil langkah yang tepat untuk mempertahankan jalannya proses komputasi.
Disamping pelayanan diatas, sistem operasi juga menyediakan layanan lain. Layanan ini bukan untuk membantu pengguna tapi lebih pada mempertahankan efisiensi sistem itu sendiri. Layanan tambahan itu yaitu :
1. Alokasi Sumber Daya
Ketika beberapa pengguna menggunakan sistem atau beberapa program dijalankan secara bersamaan, sumber daya harus dialokasikan bagi masing-masing pengguna dan program tersebut.
2. Accounting
Kita menginginkan agar jumlah pengguna yang menggunakan sumber daya, dan jenis sumber daya yang digunakan selalu terjaga. Untuk itu maka diperlukan suatu perhitungan dan statistik. Perhitungan ini diperlukan bagi seseorang yang ingin merubah konfigurasi sistem untuk meningkatkan pelayanan.
3. Proteksi
Layanan proteksi memastikan bahwa segala akses ke sumber daya terkontrol. Dan tentu saja keamanan terhadap gangguan dari luar sistem tersebut. Keamanan bisa saja dilakukan dengan terlebih dahulu mengidentifikasi pengguna. Ini bisa dilakukan dengan meminta passsword bila ingin menggunakan sumber daya.

4. Sejarah perkembangan system operasi
Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital (silahkan cari sendiri apa itu sinyal analog dan sinyal digital). Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep dasar mengenai sistem operasi itu sendiri.
Pengertian sistem operasi secara umum adalah pengelola seluruh sumber-daya yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system calls) ke pemakai sehingga memudahkan danmenyamankan penggunaan serta pemanfaatan sumber-daya sistem komputer ( artikel bahan kuliah).
Menurut Wikipedia sistem Operasi adalah software pada lapisan pertama yang ditempatkan pada memeori komputer pada saat komputer dinyalakan. Sedangkan software-software lainnya dijalankan setelah Sistem Operasi berjalan, dan Sistem Operasi akan melakukan layanan inti umum untuk software-software itu.
Menurut Tanenbaum, sistem operasi mengalami perkembangan yang sangat pesat, yang dapat dibagi kedalam empat generasi:
1. Generasi Pertama (1945-1955)
Generasi pertama merupakan awal perkembangan sistem komputasi elektronik sebagai pengganti sistem komputasi mekanik, hal itu disebabkan kecepatan manusia untuk menghitung terbatas dan manusia sangat mudah untuk membuat kecerobohan, kekeliruan bahkan kesalahan. Pada generasi ini belum ada sistem operasi, maka sistem komputer diberi instruksi yang harus dikerjakan secara langsung.
2. Generasi Kedua (1955-1965)
Generasi kedua memperkenalkan Batch Processing System, yaitu Job yang dikerjakan dalam satu rangkaian, lalu dieksekusi secara berurutan.Pada generasi ini sistem komputer belum dilengkapi sistem operasi, tetapi beberapa fungsi sistem operasi telah ada, contohnya fungsi sistem operasi ialah FMS (Fortran Monitoring System) dan IBSYS. Jadi generasi komputer kedua ini merupakan generasi pertama dari sistem Operasi.
3. Generasi Ketiga (1965-1980)
Pada generasi ini perkembangan sistem operasi dikembangkan untuk melayani banyak pemakai sekaligus, dimana para pemakai interaktif berkomunikasi lewat terminal secara on-line ke komputer, maka sistem operasi menjadi multi-user (di gunakan banyak pengguna sekaligus) dan multi-programming (melayani banyak program sekaligus).
4. Generasi Keempat (Pasca 1980an)
Dewasa ini, sistem operasi dipergunakan untuk jaringan komputer dimana pemakai menyadari keberadaan komputer-komputer yang saling terhubung satu sama lainnya. Pada masa ini para pengguna juga telah dinyamankan dengan Graphical User Interface yaitu antar-muka komputer yang berbasis grafis yang sangat nyaman, pada masa ini juga dimulai era komputasi tersebar dimana komputasi-komputasi tidak lagi berpusat di satu titik, tetapi dipecah dibanyak komputer sehingga tercapai kinerja yang lebih baik.
Adapun sejarah sistem operasi yang dirinci dari tahun 1980an. Artikel ini menguraikan sejarah sistem operasi dari DOS, Mac, Windows, BSD, sampai Linux.
1956
• GM-NAAI/O :Sistem operasi pertama ini digunakan pertama kali oleh General Motors pada komputer besar IBM 704. Namun, sistem ini tidak lebih hebat dari Batch Processing.
1969
• Unix :Sistem operasi modern pertama ini dikembangkan oleh Ken Thompson dan Dennis Ritchie yang saat itu membutuhkan sebuah platform yang cepat untuk game “Space Travel” mereka.
1973
• XeroxAlto : Sistem pertama dengan graphical interface yang hanya digunakan untuk penelitian sampai 1981
1980
• QDOS : Tim Paterson dari Seattle Computer menulis QDOS yang dibuat dari OS terkenal pada masa itu, CP/M. QDOS (Quick and Dirty Operating System) dipasarkan oleh Seatle Computer dengan nama 86-DOS karena dirancang untuk prosesor Intel 8086.
• Microsoft : Bill Gates dari Microsoft membeli lisensi QDOS dan menjualnya ke berbagai perusahaan komputer.
1981
• PC DOS : IBM meluncurkan PC DOS yang dibeli dari Microsoft untuk komputernya yang berbasis prosesor Intel 8086.
• MS DOS : Microsoft menggunakan nama MS DOS untuk OS ini jika dijual oleh perusahaan diluar IBM.
1983
• MS DOS 2.0 : Versi 2.0 dari MS DOS diluncurkan pada komputer PC XT.
1984
• System 1.0 : Apple meluncurkan Macintosh dengan OS yang diturunkan dari BSD UNIX. System 1.0 merupakan sistem operasi pertama yang telah berbasis grafis dan menggunakan mouse.
• MS DOS 3.0 : Microsoft meluncurkan MS DOS 3.0 untuk PC AT yang menggunakan chip Intel 80286 dan yang mulai mendukung penggunaan hard disk lebih dari 10 MB.
• MS DOS 3.1 : Microsoft meluncurkan MS DOS 3.1 yang memberikan dukungan untuk jaringan.
1985
• MS Windows 1.0 : Microsoft memperkenalkan MS¬Windows, sistem operasi yang telah menyediakan lingkungan berbasis grafis (GUI) dan kemampuan multitasking. Sayangnya sistem operasi ini sangat buruk performanya dan tidak mampu menyamai kesuksesan Apple.
• Novell Netware : Novell meluncurkan sistem operasi berbasis jaringan Netware 86 yang dibuat untuk prosesor Intel 8086.
1986
• MS DOS 3.2 : Microsoft meluncurkan MS DOS 3.2 yang menambahkan dukungan untuk floppy 3.5 inch 720 KB.
1987
• OS/2 : IBM memperkenalkan OS/2 yang telah berbasis grafis, sebagai calon pengganti IBM PC DOS.
• MS DOS 3.3 : Microsoft meluncurkan MS DOS 3.3 yang merupakan versi paling populer dari MS DOS.
• Windows 2.0 : Windows versi 2.0 diperkenalkan.
• MINIX : Andrew S. Tanenbaum mengembangkan Minix, sistem operasi berbasis Unix yang ditujukan untuk pendidikan. MINIX nantinya menginspirasi pembuatan Linux.
1988
• MS DOS 4.0 : Microsoft mengeluarkan MS DOS 4.0 dengan suasana grafis.
• WWW : Proposal World Wide Web (WWW) oleh Tim Berners Lee.
1989
• NetWare/386 (juga dikenal sebagai versi 3) diluncurkan oleh Novell untuk prosesor Intel 80386.
1990
• Perpisahan : Dua perusahaan raksasa berpisah, IBM berjalan dengan OS/2 dan Microsoft berkonsentrasi pada Windows.
• Windows 3.0 : Microsoft meluncurkan Windows versi 3.0 yang mendapat sambutan cukup baik.
• MS Office : Microsoft membundel Word, Excel, dan PowerPoint untuk menyingkirkan saingannya seperti Lotus 1 2 3, Wordstar, Word Perfect dan Quattro.
• DR DOS : Digital Research memperkenalkan DR DOS 5.0.
1991
• Linux 0.01 : Mahasiswa Helsinki bernama Linus Torvalds mengembangkan OS berbasis Unix dari sistem operasi Minix yang diberi nama Linux.
• MS DOS 5.0 : Microsoft meluncurkan MS DOS 5.0 dengan penambahan fasilitas full -screen editor, undelete, unformat dan Qbasic.
1992
• Windows 3.1 : Microsoft meluncurkan Windows 3.1 dan kemudian Windows for Workgroups 3.11 di tahun berikutnya.
• 386 BSD : OS berbasis Open Source turunan dari BSD Unix didistribusikan oleh Bill Jolitz setelah meninggalkan Berkeley Software Design, Inc (BSDI). 386 BSD nantinya menjadi induk dari proyek Open Source BSD lainnya, seperti NetBSD, FreeBSD, dan OpenBSD.
• Distro Linux : Linux didistribusikan dalam format distro yang merupakan gabungan dari OS plus program aplikasi. Distro pertama Linux dikenal sebagai SLS (Softlanding Linux System).
1993
• Windows NT : Microsoft meluncurkan Windows NT, OS pertama berbasis grafis tanpa DOS didalamnya yang direncanakan untuk server jaringan.
• Web Browser : NCSA memperkenalkan rilis pertama Mosaic, browser web untuk Internet.
• MS DOS 6.0 : Microsoft memperkenalkan MS DOS 6.0 Upgrade, yang mencakup program kompresi harddisk DoubleSpace.
• Slackware : Patrick Volkerding mendistribusikan Slackware Linux yang menjadi distro populer pertama di kalangan pengguna Linux.
• Debian : Ian Murdock dari Free Software Foundation (FSF) membuat OS berbasis Linux dengan nama Debian.
• MS DOS 6.2 : Microsoft meluncurkan MS DOS 6.2.
• NetBSD : Proyek baru OS berbasis Open Source yang dikembangkan dari 386BSD dibuat dengan menggunakan nama NetBSD.
• FreeBSD : Menyusul NetBSD, satu lagi proyek yang juga dikembangkan dari 386BSD dibuat dengan nama FreeBSD.
1994
• Netscape : Internet meraih popularitas besar saat Netscape memperkenalkan Navigator sebagai browser Internet.
• MS DOS 6.22 : Microsoft meluncurkan MS DOS 6.22 dengan program kompresi bernama DriveSpace. Ini merupakan versi terakhir dari MS DOS.
• FreeDOS : Jim Hall, mahasiswa dari Universitas Wisconsin River Falls Development mengembangkan FreeDOS. FreeDOS dibuat setelah Microsoft berniat menghentikan dukungannya untuk DOS dan menggantikannya dengan Windows 95.
• SuSE : OS Linux versi Jerman dikembangkan oleh Software und System Entwicklung GmbH (SuSE) dan dibuat dari distro Linux pertama, SLS.
• Red Hat : Marc Ewing memulai pembuatan distro Red Hat Linux.
1995
• Windows 95 : Microsoft meluncurkan Windows 95 dengan lagu Start Me Up dari Rolling Stones dan terjual lebih dari 1 juta salinan dalam waktu 4 hari.
• PC DOS 7 : IBM memperkenalkan PC DOS 7 yang terintegrasi dengan program populer pengkompres data Stacker dari Stac Electronics. Ini merupakan versi terakhir dari IBM PC DOS.
• Windows CE : Versi pertama Windows CE diperkenalkan ke publik.
• PalmOS : Palm menjadi populer dengan PalmOS untuk PDA.
• OpenBSD : Theo de Raadt pencetus NetBSD mengembangkan OpenBSD.
1996
• Windows NT 4.0 : Microsoft meluncurkan Windows NT versi 4.0
1997
• Mac OS : Untuk pertama kalinya Apple memperkenalkan penggunaan nama Mac OS pada Mac OS 7.6.
1998
• Windows 98 : Web browser Internet Explorer menjadi bagian penting dari Windows 98 dan berhasil menumbangkan dominasi Netscape Navigator.
• Server Linux : Linux mendapat dukungan dari banyak perusahaan besar, seperti IBM, Sun Microsystem dan Hewlet Packard. Server berbasis Linux mulai banyak dipergunakan menggantikan server berbasis Windows NT.
• Google : Search Engine terbaik hadir di Internet dan diketahui menggunakan Linux sebagai servernya.
• Japan Goes Linux : TurboLinux diluncurkan di Jepang dan segera menjadi OS favorit di Asia, khususnya di Jepang, China dan Korea.
• Mandrake : Gael Duval dari Brazil mengembangkan distro Mandrake yang diturunkan dari Red Hat.
1999
• Support : Hewlett Packard mengumumkan layanan 24/7 untuk distro Caldera, Turbo Linux, Red Hat dan SuSE.
• Corel Linux : Corel pembuat program Corel Draw, yang sebelumnya telah menyediakan Word Perfect versi Linux, ikut membuat OS berbasis Linux dengan nama Corel Linux dan yang nantinya beralih nama menjadi Xandros.
2000
• Mac OS/X : Mac OS diganti dengan mesin berbasis BSD Unix dengan kernel yang disebut sebagai Mac OS/X.
• Windows 2000: Microsoft meluncurkan Windows 2000 sebagai penerus Windows NT.
• Windows Me : Microsoft meluncurkan Windows Me, versi terakhir dari Windows 95.
• China Goes Linux : Red Flag Linux diluncurkan dari Republik Rakyat China.
• Microsoft vs IBM : CEO Microsoft Steve Ballmer menyebut Linux sebagai kanker dalam sebuah interview dengan Chicago Sun Times. Di lain pihak, CEO IBM Louis Gartsner menyatakan dukungan pada Linux dengan menginvestasikan $ 1 milyar untuk pengembangan Linux.
2001
• Windows XP : Microsoft memperkenalkan Windows XP.
• Lindows: Michael Robertson, pendiri MP3.com, memulai pengembangan Lindows yang diturunkan dari Debian. Nantinya Lindows berganti nama menjadi Linspire karena adanya tuntutan perubahan nama oleh Microsoft.
2002
• Open Office : Program perkantoran berbasis Open Source diluncurkan oleh Sun Microsystem.
• OS Lokal : OS buatan anak negeri berbasis Linux mulai bermunculan, diantaranya Trustix Merdeka, WinBI, RimbaLinux, Komura.
2003
• Windows 2003 : Microsoft meluncurkan Windows Server 2003.
• Fedora : Redhat mengumumkan distro Fedora Core sebagai penggantinya. Nantinya ada beberapa distro lokal yang dibuat berbasiskan Fedora, seperti BlankOn 1.0 dan IGOS Nusantara.
• Novell : Ximian, perusahaan pengembang software berbasis Linux dibeli oleh Novell, begitu juga halnya dengan SuSE yang diakuisisi oleh Novell.
• LiveCD : Knoppix merupakan distro pertama Linux yang dikembangkan dengan konsep LiveCD yang bisa dipergunakan tanpa harus diinstal terlebih dahulu. Distro lokal yang dibuat dari Knoppix adalah Linux Sehat dan Waroeng IGOS.
2004
• Ubuntu : Versi pertama Ubuntu diluncurkan dan didistribusikan ke seluruh dunia. Ada beberapa versi distro yang dikeluarkan, yaitu Ubuntu (berbasis Gnome), Kubuntu (berbasis KDE), Xubuntu (berbasis XFCE), dan Edubuntu (untuk pendidikan).
2005
• Mandriva : Mandrake bergabung dengan Conectiva dan berganti nama menjadi Mandriva.
2006
• Unbreakable Linux : Oracle ikut membuat distro berbasis Linux yang diturunkan dari Red Hat Enterprise.
• CHIPLux : Distro lokal terus bermunculan di tahun ini, bahkan Majalah CHIP yang lebih banyak memberikan pembahasan tentang Windows juga tidak ketinggalan membuat distro Linux dengan nama CHIPLux, yang diturunkan dari distro lokal PC LINUX dari keluarga PCLinuxOS (varian Mandriva). CHIPLux merupakan distro lokal pertama yang didistribusikan dalam format DVD.
2007
• Vista : Setelah tertunda untuk beberapa lama, Microsoft akhirnya meluncurkan Windows Vista. Windows Vista memperkenalkan fitur 3D Desktop dengan Aero Glass, SideBar, dan Flip 3D. Sayangnya semua keindahan ini harus dibayar mahal dengan kebutuhan spesifikasi komputer yang sangat tinggi.
2008
• 3D OS : Tidak seperti halnya Vista yang membutuhkan spesifikasi tinggi, 3D Desktop di Linux muncul dengan spesifikasi komputer yang sangat ringan. Era hadirnya teknologi 3D Desktop di Indonesia ditandai dengan hadirnya sistem operasi 3D OS yang dikembangkan oleh PC LINUX. Ada beberapa versi yang disediakan, yaitu versi 3D OS untuk pengguna umum serta versi distro warnet Linux dan game center Linux.
2010
• Windows7 : Sistem Operasi ini merupakan penyempurna dari sistem operasi yang di buat sebelumnya oleh microsoft. Bisa dikatakan bahwa sistem operasi ini merupakan sistem operasi terbaik yang ada pada saat ini.

diagram sistem komputer

Sistem Komputer

Untuk mewujudkan komputer sebagai pengolah data untuk menghasilkan suatu informasi, diperlukan (computer system) yang elemennya terdiri dari

- Hardware atau Perangkat Keras:
peralatan yang secara fisik terlihat dan
bisa djamah.
- Software atau Perangkat Lunak:
program yang berisi instruksi/perintah
untuk melakukan pengolahan data
- Brainware: manusia yang
mengoperasikan dan mengendalikan
sistem komputer



Diagram Blok Komputer






Input Device
Adalah perangkat keras komputer yang berfungsi sebagai alat untuk memasukan data atau perintah ke dalam komputer

Output Device
Adalah perangkat keras komputer yang berfungsi untuk menampilkan keluaran sebagai hasil pengolahan data. Keluaran dapat berupa hard-copy (ke kertas), soft-copy (ke monitor), ataupun berupa suara


I/O Ports
Bagian ini digunakan untuk menerima ataupun mengirim data ke luar sistem. Peralatan input dan output di atas terhubung melalui port ini.

CPU (Central Processing Unit)
CPU merupakan otak sistem komputer, dan memiliki dua bagian fungsi operasional, yaitu: ALU (Arithmetical Logical Unit) sebagai pusat pengolah data,
CU (Control Unit) sebagai pengontrol kerja komputer

Address Bus
Digunakan untuk menandakan lokasi sumber ataupun tujuan pada proses transfer data. Pada jalur ini, CPU akan mengirimkan alamat memori yang akan ditulis atau dibaca.Address bus biasanya terdiri atas 16, 24, atau 32 jalur paralel.

Control Bus
Control Bus digunakan untuk mengontrol penggunaan serta akses ke Data Bus dan Address Bus. Terdiri atas 4 sampai 10 jalur paralel

Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman dan Struktur Data menempati posisi dibagian software dan di bagian implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan rogram).
Penjelasan Diagram diatas
sistem komputer, computer system, adalah elemen-elemen yang terkait untuk menjalankan suatu aktifitas dengan menggunakan komputer.
Elemen dari sistem komputer terdiri dari manusianya (brainware), perangkat lunak (software), set instruksi (instruction set), dan perangkat keras (hardware).

Dengan demikian komponen tersebut merupakan elemen yang terlibat dalam suatu sistem komputer. Tentu saja hardware tidak berarti apa-apa jika tidak ada salah satu dari dua lainnya (software dan brainware). Contoh sederhananya, siapa yang akan menghidupkan komputer jika tidak ada manusia. Atau akan menjalankan perintah apa komputer tersebut jika tidak ada softwarenya.

Adanya perkembangan teknologi elektronika dan informatika telah memberikan perangkat tambahan pada sebuah komputer personal seperti:
  • Mouse, suatu perangkat mekanik untuk melaksanakan suatu pekerjaan yang biasanya dikerjakan oleh manusia. Misalnya melakukan pengecatan mobil. Robot ini dilengkapi oleh perangkat mesin atau komputer baik sederhana maupun komplek yang mampu mengontrol gerakannya.
  • Modem, alat bantu untuk mengubah data digital ke bentuk data voice atau sebaliknya sehingga data dari sebuah komputer dapat dikomunikasikan ke komputer lain melalui saluran telepon biasa, radio komunikasi ataupun stasiun bumi.
  • Sound card, bagian dari komponen komputer berupa kartu yang berfungsi untuk membangkitkan suara.
  1. Video card, alat untuk menampilkan informasi ke layar monitor.
  2. kartu penerima televisi, alat untuk penangkap sinyal acara televisi.
  3. kartu penerima radio, alat untuk menerima gelombang radio.
  4. ethernet card, alat untuk penghubung dengan komputer jaringan.
  5. Printer, alat pencetak (desk jet, buble jet, laser jet, plotter)
  6. alat penterjemah gambar cetakan (digitizer dan scanner).

Sebagai pelengkap dan referensi pembaca bahwa Sistem komputer terbagi atas 3 bagian yang tadi telah di sebutkan di atas.
Adapun gambaran atau contohnya diantaranya sebagai berikut :



[  B R A I N  W A R E ]
Diartikan sebagai pengguna komputer ( USER ).

[ S O F T W A R E ]
Diartika sebagai Perangkat lunak komputer.
Gambar di atas merupakan salah satu dari sekian banyak software komputer yang ada.

[H A R D W A R E ]
Untuk Hardware dari komputer di jabarkan atas beberapa perangkat diantaranya :
  • Monitor komputer
    Monitor ini berfungsi sebagai alat visualisai yang bisa memberikan informasi yang akurat dan dapat di mengerti oleh si penguna nya itu sendiri.
  • CPU Komputer
    CPU ini merupakan satu kesatuan alat yang telah di program di dalamnya, dan CPU ini juga merupakan otak dari komputer itu sendiri.
    Di dalam CPU terdapat komponen – komponen komputer seperti Motherboard, Prosesor, Ram , Hardisk, Optical Disk Driver ( CD/DVD ), PCI slot, Audio, VGA Card, Power supplay.
  • Mouse Komputer
    Alat ini mempunyai peran sebagai penunjuk buat user dan biasa disebut dengan istilah kursor, kursor ini bergerak sesuai dengan gerakan mouse yang di pegang oleh user.
    Mouse dilengkapi dengan 2 klik kiri dan kanan serta 1 alat putar yang bergerak ke atas dan kebawah.
  • SPeaker  Audio
    Berfungsi sebagai alat yang mengsilkan suara dari komputer itu sendiri.
  • Keyboard komputer
    Alat ini berfungsi sebagai media pengetikan yang sama halnya dengan mesin ketik biasa namun memiliki  perbedaan tersendiri, keyboard juga berfungsi sebagai alat yang terorganisir atau terprogram sehingga dapat di mengerti oleh User atau si pengguna komputer itu sndiri.
Dan masih ada beberapa alat Hardware lain sebagai alat tambahan seperti Printer, Scanner, Alat Foto Camera.

Kamis, 22 September 2011

Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
1
Cara Mudah Menciptakan Menu dan
Toolbar pada Visual Basic.
DanuWira Pangestu
danu_wira@yahoo.com
www.bangdanu.wordpress.com
Dasar - dasar Visual BASIC, database dengan mysql dan pemrograman database serta perintah SQL dalam
database serta membuat laporan dengan Data Report telah kita bahas. Kini saatnya kita membuat menu pilihan untuk
mengakses form dan laporan yang telah kita buat. Pada pembahasan kali ini kita akan bahas dan praktekkan cara
membuat menu dan toolbar pada Visual BASIC secara sederhana sehingga dapat dipahami dengan mudah. Semoga
artikel ini bermanfaat bagi yang sudah tidak sabar ingin mencoba membuat menu pilihan dan toolbar pada program
aplikasi Visual BASIC. Semoga semakin hari semakin semangat juga belajar pemrograman. SEMOGA
Menu & Toolbar
Pada pemrograman aplikasi berbasis windows, umumnya sebuah program selalu
dilengkapi dengan fasilitas Menu Bar dan Toolbar. Dalam pemrograman Visual BASIC,
kita juga dapat membuat menu dan toolbar melalui fasilitas menu editor dan
toolbox-toolbox yang telah disediakan Visual BASIC. Pada bahasan ini kita akan
membahas tata cara pembuatan menu dan toolbar menggunakan Visual BASIC secara
singkat.
1. Menu
Untuk membuat menu pada sebuah form, pertama kali kita harus membuat desain
dari menu dan sub menu yang akan kita buat. Sebagai contoh kita akan membuat
sebuah menu utama untuk mengakses program database yang telah kita buat.
Langkah pertama anda harus menambahkan sebuah form (Project - Add Form).
Lisensi Dokumen:
Copyright © 2003-2007 IlmuKomputer.Com
Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara
bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah
atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak
diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari
IlmuKomputer.Com.
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
2
Kemudian Klik Menu Tools – Menu Editor untuk menampilkan jendela menu editor.
Pada jendela yang muncul lakukan pengaturan menu sebagai berikut :
Caption Name
&Data mndata
....Data Dosen mndtdosen
....Data Mata Kuliah mndtmtkuliah
....Data Kuliah mndtkuliah
....- mngrs
&Laporan mnlap
....Daftar Dosen mnlapdosen
....Daftar Matakuliah mnlapmk
....Jadwal Perkuliahan mnlapjadwal
sehingga pada menu editor akan didapat tampilan lengkap sebagai berikut:
Kemudian Klik OK. Sehingga pada tampilan form menu utama, akan tampil menu
seperti berikut :
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
3
Untuk menambahkan perintah pada setiap menu dan sub menu, dapat dilakukan
dengan memilih menu yang akan diberi perintah.
2. Toolbar
Untuk mempercantik dan mempermudah akses pada program, kita dapat
menambahkan komponen toolbar yang dapat berfungsi sebagai shortcut perintah
tertentu. Sebagai contoh pada menu utama kita akan menambahkan 3 buah toolbar.
Untuk membuat toolbar kita membutuhkan 2 buah komponen yaitu : Komponen
ImageList ( ) dan Komponen Toolbar ( ). Tambahkan kedua komponen
tersebut kedalam form menu utama.
Setelah itu atur gambar yang akan ditampilkan sebagai logo dari toolbar dengan cara
klik kanan pada ImageList1 – Pilih Properties. Selanjutnya akan ditampilkan kotak
dialog Property Pages sebagai berikut:
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
4
Pada Kotak dialog diatas pilih ukuran toolbar 32x32, kemudian klik Apply.
Selanjutnya klik tab Images sehingga tampilan akan menjadi sebagai berikut:
Klik tombol Insert Picture, tentukan tempat penyimpanan gambar dan pilih gambar
yang diinginkan, kemudian klik Open. Isikan Key dengan nama tombol, misalnya :
Dosen untuk tombol dosen dan selanjutnya. Setelah 3 gambar telah dipilih dan diberi
nama, selanjutnya klik Apply – OK.
Langkah selanjutnya adalah mengatur property dari komponen Toolbar dengan cara
Klik Kanan komponen Toolbar – Pilih Properties. Maka akan ditampilkan kotak
dialog berikut:
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
5
Pada kotak dialog diatas atur ImageList menjadi ImageList1. Pilihan ini akan
mendefiniskan daftar gambar yang kita pilih adalah Gambar dari ImageList1.
Selanjutnya klik tab Buttons, sehingga akan ditampilkan kotak dialog berikut :
Untuk menambahkan tombol pada toolbar klik tombol Insert Button, kemudian
untuk mendefinisikan gambar dari tombol, isikan Image dengan Key/nama tombol
dari gambar pada ImageList1. Lakukan lagi hal tersebut hingga terdapat 3 tombol
pada toolbar (Index = 3). Kemudian Klik Apply – OK. Sehingga pada tampilan akhir
menu utama didapatkan tampilan seperti pada gambar berikut:
Komunitas eLearning IlmuKomputer.Com
Copyright © 2003-2007 IlmuKomputer.Com
6
Catatan : Untuk memanggil form lain melalui menu utama anda dapat lakukan
dengan memberikan listing :
<Nama_Form>.Show
Contoh :
FrmDosen.Show
3. Mengkompile Program
Langkah terakhir dalam pembuatan program aplikasi adalah mengkompile program
yang telah kita buat menjadi program aplikasi berbentuk executable file (file exe).
Untuk membuat file exe, ikuti langkah berikut ini:
- Aktifkan Project (contoh : Pengajaran.vbp) yang akan dijadikan file exe.
- Klik menu File – Make Pengajaran.exe.
- Selanjutnya tentukan tempat penyimpanan file exe.
- Beri nama file exe (contoh : Pengajaran.exe)
- Klik tombol OK
- Selesai
Selanjutnya cobalah untuk membuka file exe tersebut melaluiWindows Explorer dan
lihat hasilnya.

klimaks

Jumat, 16 September 2011

denny-agoptimasi.doc
:wirman-algoritma.doc

Algoritma dan Pemrograman Dengan C++


Pengantar
Puji dan syukur kepada Tuhan Yang Maha Esa karena berkat Dia-lah tulisan ini bisa selesai. Tulisan pertama saya ini membahas mengenai algoritma dalam pemrograman. Mudah –mudahan tulisan ini bisa memberi masukan bagi banyak orang khususnya bagi orang yang mempelajari pemrograman komputer untuk mempermudah mereka dalam membuat sebuah program yang baik.
Dalam membuat sebuah program, ada beberapa hal yang penting, paling tidak menurut saya, yaitu:
1.      Tujuan pembuatan program,
2.      Algoritma,
3.      Bahasa pemrograman itu sendiri
Dalam kesempatan kali ini, saya ingin membahas mengenai algoritma dalam pemrograman. Hal – hal yang akan disajikan di sini merupakan contoh – contoh program yang ditulis dalam bahasa C++ yang kemudian akan dijelaskan lebih detail. Lebih tepatnya jika saya katakan bahwa tulisan ini merupakan kumpulan contoh algoritma yang pernah dibahas dan cukup “populer” sebagai contoh – contoh algoritma.
Pembahasan yang terdapat disini sebenarnya lebih ditujukan kepada orang – orang yang sudah sedikit mengenal bahasa pemrograman C++ sehingga akan mempermudah dalam memahami konsep algoritma yang dijelaskan di sini.

Sekilas Mengenai Algoritma
Algoritma seperti kata kebanyakan orang, bukanlah sesuatu yang hanya berhubungan dengan dunia komputer saja. Algoritma juga berlaku dalam kehidupan sehari-hari. Kali ini saya mau membahas contoh yang mungkin kedengaran tidak “lazim” digunakan untuk memberi gambaran mengenai algoritma :D.
Beberapa contoh sederhana mengenai algoritma yang dapat ditemui dalam kehidupan sehari – hari misalnya:
1.      Memasak mie instant.
Prosesnya sbb: memanaskan air, membuka pembungkus mie instant (tentunya), memasukkan mie ke dalam air, taruh bumbu di piring, angkat mie jika sudah masak, campurkan dengan bumbu yang sudah ada di piring dengan mie, makan… :D (koq jadi laper? :D)
2.      Menelepon
Prosesnya sbb: angkat telepon, tekan nomor teleponnya:
·         jika diangkat maka mulai berbicara setelah selesai tutup teleponnya
·         jika tidak diangkat, maka tutup teleponnya

Dan masih banyak lagi contoh – contoh sederhana mengenai algoritma yang dapat kita jumpai dalam kehidupan sehari – hari.

Algoritma Pemrograman
Sekarang kita mulai membicarakan mengenai algoritma pemrograman. Pertama – tama, akan saya kutip dulu ciri – ciri dari algoritma seperti yang dipaparkan oleh Donald E. Knuth:
·         Algoritma mempunyai awal dan akhir.
·         Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (ambigu).
·         Memiliki masukan (input) atau kondisi awal.
·         Memiliki keluaran (output) atau kondisi akhir.
·         Algoritma harus efektif; bila digunakan benar – benar menyelesaikan persoalan.

Saya sendiri sebenarnya tidak terlalu setuju dengan hal – hal seperti itu yang terkesan terlalu membatasi. Karena sebenarnya ada banyak cara untuk menghasilkan sesuatu tanpa harus mengikuti aturan yang “baku” / satu aturan saja yang terkesan mengikat, iya kan? Namun jika ada yang mau “bertindak” seperti yang telah dipaparkan di atas, itu sah – sah saja.
Sekarang, kita akan melihat beberapa program, mulai dari yang mudah sampai yang cukup sulit, beserta penjelasannya.


Nilai Terbesar Dari 3 Buah Bilangan
Untuk mencari nilai terbesar dari 3 buah bilangan, dalam C++, kode yang saya gunakan adalah sbb:

#include <iostream>
using namespace std;

void main() {
      int a, b, c, d;
      cout << "nilai 1: ";
      cin >> a;
      cout << "nilai 2: ";
      cin >> b;
      cout << "nilai 3: ";
      cin >> d;

      c = (a > b ? a : b);
     
      cout << "nilai terbesar adalah : " << (c > d ? c : d) << "\n";
}

Logika:
Bandingkan nilai pertama dengan nilai kedua. Kemudian yang lebih besar di antara nilai tersebut di bandingkan dengan nilai berikutnya (nilai ke tiga), sehingga di dapat nilai terbesar di antara ketiga variabel tersebut.

Penjelasan kode:
Seperti yang kita lihat di atas, pertama – tama, kita membuat tiga variabel yaitu, variabel a, b, c, dan d. Kemudian, kita meminta user untuk memasukkan nilai untuk variabel a, b, dan d. Setelah itu, kita membandingkan nilai masing – masing variabel. Disini digunakan variabel c sebagai “alat bantu”. Variabel c sendiri menyimpan nilai terbesar antara variabel a dan b. Kemudian ditampilkan nilai yang terbesar yang didapat setelah membandingkan variabel c dan d.

Jumlah Deret
Yang dimaksud dengan jumlah deret di sini adalah misalnya saja yang diminta adalah 3 suku deret. Maka dikalkulasikan menjadi:
1 – 1/3 + 1/5 – 1/ 7
Perhatikan bahwa dalam proses kalkulasi tersebut tanda + dan – berubah setiap kali dilakukan proses perhitungan. Baiklah, sekarang kita membahas kodenya:

#include <iostream>
using namespace std;

void main () {
      int mp = -1;
      double satu = 1, ulang = 3;
      int masuk;
      cout << "masukan nilai : ";
      cin >> masuk;
     
      for (int ulang2 = 1; ulang2 <= masuk; ++ulang2) {
            satu = satu + ((1 / ulang) * mp);
            mp *= -1;
            ulang += 2;
      }

      cout << satu << "\n";
}

Logika:
Melakukan perhitungan dari suku pertama sampai suku ke – n (jumlah suku yang diminta oleh user). Mungkin yang paling “mengganggu” pemikiran Anda adalah bagaimana cara untuk membuat tanda + dan minus berubah – ubah setiap kali, kan?  Padahal itu bisa saja diatasi hanya dengan mengalikan  -1 dengan -1 sehingga hasilnya bisa menjadi positif , ya kan? Jika sudah begitu, “urusan” berikutnya menjadi beres J.

Penjelasan kode:
Kode di atas juga cukup jelas jika diamati dengan baik. Awalnya kita membuat beberapa “buah” variabel:
·         Yang akan menjadi input bagi / dari user, yaitu masuk
·         Yang akan “menampung” hasil perhitungan, yaitu satu
·         Yang akan menjadi pembagi dan terus dinaikkan nilainya, yaitu ulang
·         Yang akan “merubah” tanda dan jenis perhitungan (dari penjumlahan menjadi pengurangan dan sebaliknya), yaitu mp
Kemudian kita melakukan perulangan dengan menjumlahkan variabel satu yang bernilai 1 (pada awalnya) dengan hasil dari 1 dibagi dengan variabel ulang dimana nilai awalnya adalah 3, dan kemudian ditambah 2 untuk setiap perulangan yang dilakukan kemudian dikalikan dengan variabel mp yang bernilai -1 pada awalnya sehingga menghasilkan perhitungan: 1 –  (1/3).Variabel mp kemudian dikalikan dengan -1 untuk menghasilkan nilai positif sehingga pada perhitungan berikutnya menjadi seperti berikut:
1 – (1/3) + (1/5)
Begitu seterusnya hingga perhitungan mencapai suku ke – n, dan proses perhitungan pun dilakukan sekali lagi dan berhenti. Hasilnya kemudian ditunjukkan oleh variabel satu. Jelas sekali, bukan?




Array
Ok, sekarang, masuk ke “permainan” array. Dalam “permainan” ini, kita akan meminta user untuk memasukkan nomor stambuk yangterdiri atas 7 angka. Masing - masing angka (dari nomor stambuk) tersebut akan disimpan dalam sebuah array yang terdapat variabel a. Nilai dari masing – masing array tersebut akan dikalikan jika nilai tersebut bukan 0 (nol) dan “disimpan dalam sebuah variabel sebut saja x. Kemudian dibuat variabel lain sebut saja b yang memiliki 7 array juga. “Isi” variabel b merupakan hasil dari masing – masing array variabel a ditambah x. Berikut ini kodenya:

#include <iostream>
using namespace std;

void main() {
      int a[7], x = 1;
      for (int i = 0; i < 7; ++i) {
            cout << "nomor " << i + 1 << ": ";
            cin >> a[i];
      }

      for (int j = 0; j < 7; ++j) {
            if (a[j] == 0)
                  continue;

            else {
                  x *= a[j];
            }
      }
     
      int b[7];

      for (int k = 0; k < 7; ++k) {
            b[k] = a[k] + x;
            cout << b[k] << "\n";
      }
}


Logika:
Dari semua array (angka – angka) yang ada (sudah dimasukkan), kita melakukan “pencarian”. Jika array tersebut bernilai 0 (nol) maka, array tersebut kita lewati. Jika array tersebut bukan bernilai nol (karena itu tentu saja bernilai lebih dari nol, karena secara logika, tidak ada nomor stambuk yang minus, kan?), maka kita kalikan dengan array berikutnya yang juga tidak bernilai nol. Kemudian setelah itu, kita membuat array lain dari sebuah variabel yang lain (tentunya) untuk “ditempati” masing – masing oleh hasil dari masing – masing array variabel yang satunya ditambah dengan hasil perkalian seluruh nilai tadi.

Penjelasan kode:
Pertama – tama, kita buat sebuah variabel (variabel a) untuk menampung 7 buah array, lalu  variabel x untuk menampung hasil perkalian seluruh array variabel a. Nilai awal x adalah 1, dengan asumsi bahwa tidak ada nomor stambuk yang seluruhnya 0 (nol) (karena klo gitu buat apa dibuatkan nomor stambuk, kan?) sehingga bisa dikalikan dengan seluruh array variabel a dengan memiliki kemungkinan nilai terkecil adalah 1. Lakukan perulangan untuk setiap array variabel a, dengan “menyisipkan” kondisi agar jika nilai array tersebut adalah 0 (nol) maka dilewati (continue), dan apabila nilainya bukan nol, maka dikalikan dengan variabel x. Setelah selesai, dibuat variabel baru dengan array yang sama, yaitu 7. Lalu perulangan dilakukan lagi untuk mengisi semua array tersebut dengan hasil dari x ditambah dengan masing – masing array variabel a.




Segitiga Siku - Siku
Gambar segitiga yang akan dibuat adalah seperti  di bawah ini:


                                                                      *
                                                                    **
                                                                  ***
                                                                ****
                                                              *****
                                                            ******
                                                          *******

Seperti yang kita lihat, bahwa terdapat segitiga siku – siku yang dibuat dengan cara membuat simbol “*” mulai dari satu sampai baris ke – n. Misalnya saja, dengan contoh di atas, user ingin menampilkan segitiga dengan jumlah baris 7, maka ditampilkan gambar seperti di atas. Begitu seterusnya. Berikut adalah contoh  kodenya:

#include <iostream>
using namespace std;

void main () {
      int segi1;
      cout << "";
      cin >> segi1;

      for (int j = 1; j <= segi1; ++j) {
            for (int i = 1; i <= segi1; ++i) {
                  if (i <= segi1 - j)
                        cout << " ";

                  else
                        cout << "*";
            }
            cout << "\n";
      }
}
Logika:
Bila diamati baik – baik, akan diketahui bahwa, misalnya, jika ada 7 baris yang diminta, maka ada 6 buah spasi yang dibuat lalu kemudian dicetak tanda asterisk “*”, dan pada baris berikutnya ada 5 buah spasi lalu dicetak dua buah tanda asterisk.  Lalu kemudian pada baris berikutnya ada 4 buah spasi, pada baris berikutnya lagi ada 3 buah spasi, dst. Dapat disimpulkan bahwa jumlah spasi yang dibuat pada baris pertama adalah:
Total baris yang diinginkan – 1

Lalu kemudian pada baris kedua adalah:
Total baris yang diinginkan – 2

Begitu seterusnya.

Dengan demikian diketahui bahwa untuk mecetak spasi menggunakan rumus:
Total baris yang diinginkan – baris yang akan dicetak

Jadi, misalnya baris yang sedang “dikerjakan” adalah baris pertama maka, rumusnya menjadi: total baris yang diinginkan – 1, begitu juga dengan baris kedua menjadi: total baris yang diinginkan – 2, dst. Jika sudah “melewati” keadaan tersebut, dicetak “*”.

Penjelasan kode:
Pada kode di atas, pertama – tama kita membuat sebuah variabel / identifier dengan nama segi1. Dimana segi1, merupakan input dari user untuk menentukan berapa banyak baris segitiga yang akan dicetak. Setelah itu, dilakukan perulangan untuk mencetak banyaknya baris, di sini kita memakai variabel j. Untuk mencetak spasi dan tanda “*” sendiri digunakan variabel i, dengan kondisi:
·         Jika i lebih kecil atau sama dengan segi1 - j, dicetak spasi
Ini karena syarat yang telah dikemukakan sebelumnya, jumlah spasi yang dicetak per baris adalah hasil dari segi1 – j, dimana j adalah baris yang aktual (current) pada saat itu.
·         Jika i lebih besar dari segi1, maka dicetak tanda “*”.
Sebenarnya, jika Anda bisa mengamati dengan cukup seksama, maka Anda akan menemukan bahwa kita selalu mencetak dengan jumlah yang sama. Misalnya jumlah baris yang diinginkan adalah 7, maka sebenarnya dalam setiap baris dari baris pertama sampai baris 7, kita selalu mencetak sebanyak 7 kali pada setiap barisnya. Hanya saja ada “variasi”pada setiap barisnya, yaitu jika dengan dikuranginya segi1 dengan j, maka denga sendirinya jumlah “*” yang tercetak akan semakin banyak dan pada akhirnya sama dengan jumlah baris yang diinginkan. Jadi, cobalah bayangkan bahwa yang kita cetak adalah sebuah persegi / persegi panjang dengan gambaran seperti yang telah disebutkan di atas (bisa, kan? J).
Hal ini terus berlanjut pada setiap baris dan pada ahirnya berhenti pada kondisi dimana j lebih besar dari segi1. Hasilnya dapat Anda lihat pada screen shot berikut:


















Baris Ganda
Kali ini Anda diminta untuk membuat / menampilkan berapa banyak baris yang diminta oleh user tapi dengan menggandakan setiap baris yang dicetak di layar. Misalnya, jumlah baris yang diminta adalah 5, maka yang tercetak adalah:
11
2222
333333
44444444
5555555555



Maka kode yang saya buat adalah sebagai berikut:

#include <iostream>
using namespace std;

void main () {
      int in;
      cout << "banyaknya baris: ";
      cin >> in;

      for (int i = 1; i <= in; ++ i) {
            for (int j = 1; j <= i * 2; ++j) {
                  cout << i;
            }
            cout << "\n";
      }
}

Logika:
Logika yang digunakan di sini cukup mirip dengan cara kita mencetak segitiga siku –siku ke layar. Mungkin bisa dibilang ini masih ada “hubungan keluarga” dengan yang tadi J. Disini kita melakukan perulangan untuk mencetak baris yang diminta oleh user. Dalam melakukan perulangan tersebut, kita menampilkan baris yang dicetak pada saat itu. Misalnya jika baris yang sedang dicetak pada saat itu adalah baris kedua, maka yang ditampilkan adalah angka 2. Begitu seterusnya. Perhatikan bahwa angka – angka yang dicetak memiliki sebuah pola. Pada setiap baris yang sedang dicetak pola dari angka –angkanya adalah: baris yang sedang dicetak dikali 2. Misalnya pada baris pertama, jumlah angka / banyaknya  angka yang dicetak adalah 1 X 2 = 2 kali di cetak. Pada baris kedua, banyaknya baris yang di cetak adalah 2 X 2, dst. Hal ini berlanjut sampai baris yang diinginkan oleh user sudah tercetak.

Penjelasan kode:
Pada kode di atas, dibuat variabel untuk menampung berapa banyak baris yang diinginkan oleh user (in), just like usual J. Berdasarkan input dari user tersebut, kita membuat perulangan untuk mencetak baris – baris yang diinginkan user. Dalam perulangan ini, kita “menyisipkan” sebuah perulangan lagi untuk mencetak angka ke layar (dengan menggunakan variabel j). Perulangan ini dilakukan dengan kondisi j lebih kecil atau sama dengan i dikali 2. Dimana, i adalah baris yang sedang dikerjakan dan j adalah berapa banyak perulangan yang dilakukan dalam kondisi j lebih kecil atau sama dengan i.
Berikut ini screen shot-nya:

Menyebut Angka Terbalik
Kita mulai memasuki salah satu bagian favorit saya yaitu “mengkonversi” bilangan menjadi kalimat / kata – kata J. Kita memasuki dulu bagian yang mudahnya, menyebut angka dengan terbalik. Kali ini, kita meminta user untuk mengurangi  bilangan apa pun (yang lebih kecil dari 10.000) dengan 10.000. Misalnya, user memasukkan angka 3456, maka 10.000 – 3.456 tentu saja hasilnya = 6.544, tapi kita mengkonversinya dengan menjadikannya sebagai kalimat tapi dibaca terbalik. Jadi, tampilannya adalah: empat empat lima enam J.
Kodenya adalah:

#include <iostream>
using namespace std;

void sntce (int n) {
      switch (n) {
      case 1: cout << "satu "; break;
      case 2: cout << "dua "; break;
      case 3: cout << "tiga "; break;
      case 4: cout << "empat "; break;
      case 5: cout << "lima "; break;
      case 6: cout << "enam "; break;
      case 7: cout << "tujuh "; break;
      case 8: cout << "delapan "; break;
      case 9: cout << "sembilan "; break;
      case 0: cout << "nol "; break;
      default: break;
      }
}

void reverse (int n) {
      int zero, mod;
      zero = n / 10;
      mod = n % 10;

      if (zero == 0 && mod == 0)
            exit;

      else {
            sntce (mod);
            reverse (zero);
      }
}


void main () {
      int in, reduce;
      const int stay = 10000;

      do {
            cout << "";
            cin >> in;
      } while (in > 10000 || in < 1);

      reduce = stay - in;
      reverse (reduce);
      cout << "\n";
}
                 
Logika:
Dari input yang dimasukan oleh user, dikurangi dengan 10.000 lalu hasilnya mulai dari angka paling terakhir sampai dengan angka pertama dikonversi ke dalam bentuk angka. Cara untuk “mengambil” angka terakhir adalah dengan mengambil modulo / sisa bagi dari hasil pengurangan tersebut dibagi 10. Misalnya, hasilnya 6544 dibagi 10 tentu saja sisanya adalah 4. Kemudian hasil bulat dari 6544 dibagi 10 yang adalah 654 akan di bagi lagi dengan 10 dan akan menghasilkan angka 4. Dan hasil bulat dari 654 dibagi 10 yang adalah 65 kembali dibagi dengan 10 dan sisanya adalah 5. Kemudian yang terakhir, karena nilai 6 yang disimpan kemudian dibagi 10, dan sisanya pasti 6, maka 6 diambil.

Penjelasan kode:
Pada bagian utama program, kita membuat beberapa variabel: reduce, in, dan stay. Variabel reduce sendiri berguna untuk menampung hasil pengurangan dari stay, yang telah kita beri nilai konstan dari awal yaitu 10.000. Tapi, kita mau mencegah agar user tidak memasukkan angka yang “tidak lazim” misalnya angka 0 atau 10.001 dan seterusnya. Maka,  kita memakai fungsi do...while (ini sebenarnya “favorit” saya, karena saya ingin selalu mencegah input yang tidak normal) dengan “aturan” bahwa tampilan tersebut (“”) akan selalu terulang bila user memasukkan angka yang lebih besar dari 10.000 atau lebih kecil dari 1. Kita lalu memasukkan reduce ke reverse, itulah akhir dari program utama. Lalu, seperti yang kita lihat di atas, ada 2 fungsi yang kita buat sejak awal: sntce dan reverse. sntce berfungsi untuk mengkonversi angka menjadi sebuah kata dengan fungsi switch, yang saya rasa sudah cukup jelas, bahwa jika inputnya (dalam hal ini adalah sisa bagi dari 10.000 dikurangi input dari user kemudian dibagi 10) adalah 1, maka yang ditampilkan adalah kata “satu”, bila 2, maka ditampilkan adalah “dua”, dst. Sedangkan reverse untuk menghitung hasil pengurangan dari 10.000 dikurangi dengan input dari user (in). Di sini kita memakai dua kondisi, yaitu jika hasil bulat dari n (reduce) dibagi 10 sama dengan 0 dan juga sisa bagi  (mod) sama dengan 0 (nol), dan kondisi di luat itu (tentu saja ini berarti bahwa masih ada bilangan yang harus di bagi 10 atau bisa saja masih ada sisa bagi yang harus di masukkan ke sntce). Jika yag terjadi adalah kondisi kedua, kita “melempar” variabel mod ke sntce (udah tau kan fungsinya?) lalu memangil kembali reverse dengan menggunakan zero sampai akhirnya tidak ada lagi yang bisa dibagi dan tidak ada lagi sisa pembagian. Berikut tampilannya:









Menyebut Angka
Ok, akhirnya sampai di sini juga. Program berikut adalah program untuk menyebut angka dalam bentuk kalimat mulai dari 1 sampai jutaan. Misalnya angka 123 menjadi “seratus dua puluh tiga”, dst. Berikut ini salah satu contoh kodenya:

#include <iostream>
using namespace std;

void first (int n) {
      switch (n) {
      case 1: cout << "satu "; break;
      case 2: cout << "dua "; break;
      case 3: cout << "tiga "; break;
      case 4: cout << "empat "; break;
      case 5: cout << "lima "; break;
      case 6: cout << "enam "; break;
      case 7: cout << "tujuh "; break;
      case 8: cout << "delapan "; break;
      case 9: cout << "sembilan "; break;
      case 10: cout << "sepuluh "; break;
      case 11: cout << "sebelas "; break;
      default: break;
      }
}

void second (int n) {
      int bul, sisa;
      bul = n / 10;
      sisa = n % 10;

      if (bul == 0)
            first (sisa);

      else if (bul == 1) {
            if (sisa <= 1)
                  first (n);

            else {
                  first (sisa);
                  cout << "belas ";
            }
      }

      else {
            first (bul);
            cout << "puluh ";
            first (sisa);
      }
}

void third (int n) {
      int bul, sisa;
      bul = n / 100;
      sisa = n % 100;

      if (bul == 0)
            second (sisa);

      else if (bul == 1) {
            if (sisa == 0)
                  cout << "seratus ";

            else {
                  cout << "seratus ";
                  second (sisa);
            }
      }

      else {
            first (bul);
            cout << "ratus ";
            second (sisa);
      }
}

void fourth (int n) {
      int bul, sisa;
      bul = n / 1000;
      sisa = n % 1000;

      if (bul == 0)
            third (sisa);

      else if (bul == 1) {
            if (sisa == 0)
                  cout << "seribu ";

            else {
                  cout << "seribu ";
                  third (sisa);
            }
      }

      else {
            third (bul);
            cout << "ribu ";
            third (sisa);
      }
}

void fifth (int n) {
      int bul, sisa;
      bul = n / 1000000;
      sisa = n % 1000000;

      if (bul == 0)
            fourth (sisa);

      else if (bul == 1) {
            if (sisa == 0)
                  cout << "satu juta ";

            else {
                  cout << "satu juta ";
                  fourth (sisa);
            }
      }

      else {
            third (bul);
            cout << "juta ";
            fourth (sisa);
      }
}

void main () {
      int n = 1;
      while (n == 1) {
            int num1;
     
            do {
                  cout << "";
                  cin >> num1;
            } while (num1 < 1);

            fifth (num1);
            cout << "\n";
      }
}



Logika:
Kita mau mengetes apakah angka yang dimasukkan adalah jutaan, ribuan, ratusan, puluhan, atau satuan. Karena pada dasarnya hanya itu saja jenis – jenis angka yang ada (tidak termasuk milyaran dan triliunan dan yang lebih besar, karena tipe int tidak dapat menjangkau bilangan – bilangan tersebut).
Pada waktu pertama kali kita “mengetes” bilangan tersebut, kita mencoba menguji:
1.      Apakah bilangan itu adalah jutaan?
Pertama – tama, mungkin ada yang bertanya mengapa bagian ini dimasuki terlebih dahulu? Secara logisnya, dari cara pengucapannya, dalam mengucapkan nama bilangan, tentu saja yang akan diucapan adalah bilangan terbesarnya lalu berurut sampai yang terkecil. Misalnya, 1.234 dibaca seribu dua ratus tiga puluh empat. Maka, dari besarnya angka yang dapat dimasukkan ke dalam program, jutaan merupakan “porsi” yang terbesar. Maka yang paling pertama diuji adalah “apakah bilangan itu adalah jutaan?”.
·         jika tidak, maka bilangan itu dites apakah bilangan itu adalah ribuan.
·         jika ya, maka “bagian jutaan” bilangan itu diterjemahkan ke dalam kata – kata lalu sisanya (ratusan ribu ke bawah) dicek lagi pada fungsi untuk bilangan ribuan.
2.      Apakah bilangan itu ribuan?
·         Jika tidak, maka bilangan itu akan dites apakah bilangan itu adalah ratusan.
·         Jika ya, maka “bagian ribuan” dari bilangan itu diterjemahkan lalu sisanya dimasukkan di bagian ratusan.
3.      Apakah bilangan itu ratusan?
·         Jika tidak, maka bilangan itu akan dites apakah bilangan itu adalah puluhan.
·         Jika ya, maka “bagian ratusan” dari bilangan itu diterjemahkan lalu sisanya dimasukkan ke dalam fungsi puluhan.
4.      Apakah bilangan itu puluhan?
·         Jika tidak, maka bilangan itu akan dimasukkan ke dalam fungsi terakhir, fungsi satuan.
·         Jika  ya, maka “bagian puluhan” dari bilangan itu akan diterjemahkan dan kemudian sisanya dimasukkan ke dalam fungsi satuan.

Penjelasan kode:
Pertama – tama, perlu kita perhatikan bahwa sudah “disiapkan” sebuah perulangan di sana (while). Itu sebenarnya “kerjaaan” saya, yang membuatnya supaya programnya bisa diulang terus menerus (silahkan edit sendiri kalau mau merubahnya) J. Pada fungsi utama, seperti yang kita lihat, kita ingin supaya masukan kita mempunyai nilai paling tidak sama dengan satu. Lalu setelah itu, kita memasukkan input tersebut pada bagian jutaan. Caranya mirip dengan bagaimana kita menerjemahkan angka – angka ke dalam kata – kata. Prosesnya dapat kita lihat pada kondisi – kondisi pada fungsi tersebut.
·         Jika hasil bulat dari pembagian n dengan 1.000.000 adalah 0 (nol), maka bisa dipastikan bahwa n bukanlah bilangan jutaan.
·         Jika hasil bulat dari pembagian n dengan 1.000.000 adalah 1 dan sisanya adalah 0 (nol), maka n pastilah 1.000.000 (satu juta).
·         Jika hasil bulat dari pembagian n dengan 1.000.000 lebih besar dari 1, maka bilangan tersebut pastilah lebih atau sama dengan 2.000.000. Maka hasil bulat pembagian tersebut, dimasukkan ke dalam third (karena nilai maksimal dari bilangan jutaan adalah ratusan juta), lalu di cetak kata “juta ”, dan kemudian sisanya dimasukkan ke dalam fourth (karena ada kemungkinan sisanya bernilai ribuan)
Pada fungsi – fungsi yang lainnya juga dibuat dengan cara seperti itu hingga akhirnya pada bagian satuan dari bilangan tersebut. Hanya saja, jika kita perhatikan pada fungsi second, ada sebuah kondisi dimana jika hasil bulat dari pembagian adalah 1, dan jika sisanya lebih besar dari 1, maka sisanya akan dimasukkan ke dalam first dan selanjutnya di cetak kata “belas ”. Jadi misalnya, angkanya adalah 19, sisanya tentu saja adalah 9. Angka 9 di first, akan menghasilkan kata “sembilan “ di layar. Lalu ditambah dengan kata “belas “, maka hasilnya adalah “sembilan belas “. Jadi, kita tidak usah membuat case untuk “belas – belas” yang lain selain 11 (sebelas), ‘tul ga? J.









Penutup
Phew, akhirnya selesai juga tulisan ini (tepatnya beberapa menit lagi sebelum Van Helsing beraksi alias tengah malam :D). Ngga tau, berapa lama waktu saya habiskan di depan kompie untuk menyempurnakan tulisan ini. Lagi pula, karena ini merupakan tulisan pertama saya, maka pasti tidak luput dari kesalahan – kesalahan (sebenarnya tulisan ke berapa pun pasti ada kesalahan karena manusia tidak ada yang sempurna, ‘tul ga?). Oleh karena itu, saran dan kritik sangat diharapkan untuk menjadi masukan yang berguna dikemudian hari.

Referensi
·         Drs. Suarga, M.Sc., M. Math., Ph.D., Algoritma Pemrograman, Penerbit ANDI, 2006
·         Robert Setiadi, Algoritma Itu Mudah, PT. Prima Infosarana Media, 2008
·         http://www.lautanindonesia.com (beserta para penghuninya J. Thanks atas kritikan –kritikan dan masukan -masukannya).
·         Benda kecil yang telah dibuatkan dan dititipkan Tuhan pada saya untuk dijaga yang bernama otak J.









Biografi Penulis
Wirman a.k.a Chipp.
Adalah salah satu alumni S1 Universitas Katolik Atma Jaya Makassar jurusan Ekonomi Manajemen yang senang ngutak-ngatik komputer, terutama software. Sekarang bekerja dalam bidang yang sama sekali jauh dari dunia pemrograman, yaitu pelayaran (sebagai staff finance). Tidak mengaku expert, dan masih terus belajar untuk menjadi lebih baik lagi.