Algoritma dan Pemrograman

1.  Apakah Itu Algoritma

Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.

2.  Definisi Algoritma

 

“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus dapat ditentukan bernilai salah atau benar. Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.

Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting terutama pada algoritma untuk menyelesaikan masalah yang memerlukan aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai yang sebenarnya.

Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu juga dengan memori, semakin besar memori yang terpakai maka semakin buruklah algoritma tersebut. Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.

3.  Beda Algoritma dan Program

 

Program adalah kumpulan pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program adalah algoritma. Program ditulis dengan menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program adalah suatu implementasi dari bahasa pemrograman. Beberapa pakar memberi formula bahwa :

 

Program = Algoritma + Bahasa (Struktur Data)

Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, demikian juga sebaliknya.

Pembuatan algoritma mempunyai banyak keuntungan di antaranya :

  • Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun, artinya penulisan  algoritma independen dari bahasa pemrograman dan komputer yang melaksanakannya.
  • Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
  • Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.

Beberapa hal yang perlu diperhatikan dalam membuat algoritma :

  • Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah. Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.
  • Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.
  • Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program. Namun, supaya notasi algoritmik mudah ditranslasikan ke dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi algoritmik tersebut berkorespondensi dengan notasi bahasa pemrograman secara umum.
  • Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang yang menulis program sangat terikat dalam aturan tata bahasanya dan spesifikasi mesin yang menjalannya.
  • Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
  • Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan pada translasi tersebut, yaitu :

a.  Pendeklarasian variabel

Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam penggunaan bahasa pemrograman apabila    tidak semua bahasa pemrograman membutuhkannya.

b.  Pemilihan tipe data

Apabila bahasa pemrograman yang akan digunakan membutuhkan pendeklarasian variabel maka perlu hal ini dipertimbangkan pada saat pemilihan tipe data.

c.  Pemakaian instruksi-instruksi

Beberapa instruksi mempunyai kegunaan yang sama tetapi masing-masing memiliki kelebihan dan kekurangan yang berbeda.

d.  Aturan sintaksis

Pada saat menuliskan program kita terikat dengan aturan sintaksis dalam bahasa pemrograman yang akan digunakan.

e.  Tampilan hasil

Pada saat membuat algoritma kita tidak memikirkan tampilan hasil yang akan disajikan. Hal-hal teknis ini diperhatikan ketika mengkonversikannya menjadi program.

f.  Cara pengoperasian compiler atau interpreter.

Bahasa pemrograman yang digunakan termasuk dalam kelompok compiler atau interpreter.

4.  Algoritma Merupakan Jantung Ilmu Informatika

 

Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun, jangan beranggapan algoritma selalu identik dengan ilmu komputer saja. Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan dalam suatu algoritma. Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan proses tersebut.

Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi nama, dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan sehingga dapat menyebabkan kejadian.

Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not balok. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:

  • Mengerti setiap langkah dalam algoritma.
  • Mengerjakan operasi yang bersesuaian dengan langkah tersebut.

5.  Mekanisme Pelaksanaan Algoritma oleh Pemroses

Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer, algoritma harus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program. Jadi program adalah perwujudan atau implementasi teknis algoritma yang ditulis dalam bahasa pemrograman tertentu sehingga dapat dilaksanakan oleh komputer.

Kata “algoritma” dan “program” seringkali dipertukarkan dalam penggunaannya. Misalnya ada orang yang berkata seperti ini: “program pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan seperti ini: “bagaimana algoritma dan program menggambarkan grafik tersebut?”. Jika Anda sudah memahami pengertian algoritma yang sudah disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan program. Algoritma adalah langkah-langkah penyelesaikan masalah, sedangkan program adalah realisasi algoritma dalam bahasa pemrograman. Program ditulis dalam salah satu bahasa pemrograman dan kegiatan membuat program disebut pemrograman (programming). Orang yang menulis program disebut pemrogram (programmer). Tiap-tiap langkah di dalam program disebut pernyataan atau instruksi. Jadi, program tersusun atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasi-operasi yang bersesuaian dengan instruksi tersebut dikerjakan komputer.

Secara garis besar komputer tersusun atas empat komponen utama yaitu, piranti masukan, piranti keluaran, unit pemroses utama, dan memori. Unit pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer, yang berfungsi mengerjakan operasi-operasi dasar seperti operasi perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis. Memori adalah komponen yang berfungsi menyimpan atau mengingatingat.

Yang disimpan di dalam memori adalah program (berisi operasi-operasi yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu yang diolah oleh operasi-operasi). Piranti masukan dan keluaran (I/O devices) adalah alat yang memasukkan data atau program ke dalam memori, dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil aktivitasnya. Contoh piranti masukan antara lain, papan kunci (keyboard), pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah, layar peraga (monitor), pencetak (printer), dan cakram.

Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai berikut. Mula-mula program dimasukkan ke dalam memori komputer. Ketika program dilaksanakan (execute), setiap instruksi yang telah tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi yang bersesuaian dengan instruksi tersebut. Bila suatu operasi memerlukan data, data dibaca dari piranti masukan, disimpan di dalam memori lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam memori, lalu memori menuliskan keluaran tadi ke piranti keluaran (misalnya dengan menampilkannya di layar monitor).

6.  Belajar Memprogram dan Belajar Bahasa Pemrograman

Belajar memprogram tidak sama dengan belajar bahasa pemrograman. Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan memanfaatkan pernyataan-pernyataan tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol, Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa simulasi seperti CSMP, Simscript, GPSS, Dinamo. Berdasarkan terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok besar :

  • Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok ini adalah Cobol (untuk terapan bisnis dan administrasi). Fortran (terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa simulasi, dan sebagainya.
  • Bahasa perograman bertujuan umum, yang dapat digunakan untuk berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasabahasabertujuan khusus tidak berarti tidak bisa digunakan untuk aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan ilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa pemrograman yang berbeda dikembangkan untuk bermacam-macam terapan yang berbeda pula.

Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan atas dua macam :

  • Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap instruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator). Contohnya adalah bahasa mesin. CPU mengambil instruksi dari memori, langsung mengerti dan langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa ini lebih dekat ke mesin, meskipun untuk melaksanakan instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
  • Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia (bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi tidak dapat langsung dilaksanakan oleh komputer. Ia perlu diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang disebut kompilator atau compiler) ke dalam bahasa mesin sebelum akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.

Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan fungsinya. Di antaranya adalah :

7.  Menilai Sebuah Algoritma

 

Ketika manusia berusaha memecahkan masalah, metode atau teknik yang digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak (tidak hanya satu). Dan kita memilih mana yang terbaik di antara teknikteknik itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu permasalahan dipecahkan dengan metode dan logika yang berlainan. Yang menjadi pertanyaan adalah bagaimana mengukur mana algoritma yang terbaik?. Beberapa persyaratan untuk menjadi algoritma yang baik adalah :

  • Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar.
  • Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
  • Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general.
  • Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
  • Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma Anda. Susah dimengertinya suatu program akan membuat susah di-maintenance (kelola).
  • Portabilitas yang tinggi (portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
  • Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas dan pasti.

Contoh :   Tambahkan 1 atau 2 pada x.

Instruksi di atas terdapat keraguan.

  • Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun datanya berbeda.
  • Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh pemroses yang akan menjalankannya.

Contoh :   Hitung akar 2 dengan presisi sempurna.

Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.

Misal : Hitung akar 2 sampai lima digit di belakang koma.

  • Harus terminate. Jalannya algoritma harus ada kriteria berhenti. Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka pasti terminate?
  • Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis dan diikuti dengan seksama maka dihasilkan output yang diinginkan.

Sedangkan kriteria Algoritma menurut Donald E. Knuth adalah :

  1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
  2. Output: algoritma harus memiliki minimal satu buah output keluaran.
  3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu.
  4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
  5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Namun ada beberapa program yang memang dirancang untuk unterminatable : contoh Sistem Operasi.

8.  Penyajian Algoritma

Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris) dan pseudocode. Pseudocode adalah kode yang mirip dengan kode pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat digunakan untuk menggambarkan algoritma yang akan dikomunikasikan kepada pemrogram. Sedangkan algoritma disajikan dengan gambar, misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan bahasa formal yang dengannya versi akhir dari algoritma akan diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa pemrograman yang akan digunakan telah diketahui sejak awal.

 

Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan antara proses digambarkan dengan garis penghubung. Dengan menggunakan flowchart akan memudahkan kita untuk melakukan pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di

samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi antara pemrogram yang bekerja dalam tim suatu proyek.

Ada dua macam flowchart yang menggambarkan proses dengan komputer, yaitu :

  • Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan prosedur dan proses suatu file dalam suatu media menjadi file di dalam media lain, dalam suatu sistem pengolahan data. Beberapa contoh Flowchart sistem:

  • Flowchart program yaitu bagan dengan simbol-simbol tertentu yang menggambarkan urutan proses dan hubungan antar proses secara mendetail di dalam suatu program.

 

Kaidah-Kaidah Umum Pembuatan Flowchart Program

Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisis suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang lainnya. Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian utama, yaitu :

  1. Input,
  2. Proses pengolahan dan
  3. Output

Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu masalah:

  1. START, berisi pernyataan untuk persiapan peralatan yang diperlukan sebelum menangani pemecahan persoalan.
  2. READ, berisi pernyataan kegiatan untuk membaca data dari suatu peralatan input.
  3. PROSES, berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
  4. WRITE, berisi pernyataan untuk merekam hasil kegiatan ke peralatan output.
  5. END, mengakhiri kegiatan pengolahan.

Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart, namun ada beberapa anjuran :

  1. Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat.
  2. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
  3. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END.

Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh dunia pemrograman :

Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah kasus sederhana.

 

Kasus : Buatlah sebuah rancangan program dengan menggunakan flowchart, mencari luas persegi panjang.

 

 

Solusi : Perumusan untuk mencari luas persegi panjang adalah :

L = p . l

di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l adalah lebar persegi.

Keterangan :

  1. Simbol pertama menunjukkan dimulainya sebuah program.
  2. Simbol kedua menunjukkan bahwa input data dari p dan l.
  3. Data dari p dan l akan diproses pada simbol ketiga dengan menggunakan perumusan L = p. l.
  4. Simbol keempat menunjukkan hasil output dari proses dari simbol ketiga.
  5. Simbol kelima atau terakhir menunjukkan berakhirnya program dengan tanda End.

9.  Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi (selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi struktur dasar pembangunan algoritma ada tiga, yaitu:

  1. Struktur Runtunan
  2. Digunakan untuk program yang pernyataannya sequential atau urutan.
  3. Struktur Pemilihan
  4. Digunakan untuk program yang menggunakan pemilihan atau penyeleksian kondisi.
  5. Struktur Perulangan
  6. Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang.

 

Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.

Definisi Pseudo-code

Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma.

Contoh kasus : mencari bilangan terbesar dari dua bilangan yang diinputkan

Solusi Pseudo-code :

  1. Masukkan bilangan pertama
  2. Masukkan bilangan kedua
  3. Jika bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5.
  4. Tampilkan bilangan pertama
  5. Tampilkan bilangan kedua

Solusi Algoritma :

  1. Masukkan bilangan pertama (a)
  2. Masukkan bilangan kedua (b)
  3. if a > b then kerjakan langkah 4
  4. print a
  5. print b

Contoh Lain Algortima dan Pseudo-code :

10.  Tahapan dalam Pemrograman

Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam pemrograman dengan komputer adalah :

  • Definisikan Masalah
  • Buat Algoritma dan Struktur Cara Penyelesaian
  • Menulis Program
  • Mencari Kesalahan
  • Uji dan Verifikasi Program
  • Dokumentasi Program
  • Pemeliharaan Program

sejarah perkembangan komputer dan internet (networking).

Sebelum bahas perkembangannya komputer mari kita bahas dulu siapa sih penemu komputer itu dan darimana komputer berasal?
Asal Mula Komputer dan sejarahnya – Mendengar kata komputer pastinya tidak asing lagi, di era modern ini anak kecil pun sudah kenal yang namanya komputer. Komputer tidak bisa lepas dari kehidupan sehari hari kita, komputerlah yang membantu semua pekerjaan rumah maupun kantor. Mungkin tanpa adanya komputer manusia sekarang ini masih akan serba manual dalam melakukan pekerjaan.
memang perlu mengetahui sebuah sejarah dari suatu hal, termasuk awal mula komputer dari jaman jadul sampai jaman modern ini. Berikut adalah sejarah awal terciptanya komputer: komputer dibentuk oleh seorang profesor matematika Inggris, Charles Babbage (1791-1871). Tahun 1812, Babbage memperhatikan kesesuaian alam antara mesin mekanik dan matematika yaitu mesin mekanik sangat baik dalam mengerjakan tugas yang sama berulangkali tanpa kesalahan, sedang matematika membutuhkan repetisi sederhana dari suatu langkah-langkah tertentu.

Masalah tersebut kemudain berkembang hingga menempatkan mesin mekanik sebagai alat untuk menjawab kebutuhan mekanik. Usaha Babbage yang pertama untuk menjawab masalah ini muncul pada tahun 1822 ketika ia mengusulkan suatu mesin untuk melakukanperhitungan persamaan differensial. Mesin tersebut dinamakan Mesin Differensial. Dengan menggunakan tenaga uap,mesin tersebut dapat menyimpan program dan dapat melakukan kalkulasi serta mencetak hasilnya secara otomatis.
Setelah bekerja dengan Mesin Differensial selama sepuluh tahun,Babbage tiba-tiba terinspirasi untuk memulai membuat komputer general-purpose yang pertama,yang disebut Analytical Engine. Asisten Babbage,Augusta Ada King (1815-1842) memiliki peran penting dalam pembuatan mesin ini. Ia membantu merevisi rencana, mencari pendanaan dari pemerintah Inggris, dan mengkomunikasikan spesifikasi Analytical Engine kepada publik. selain itu,pemahamanAugusta yang baik tentang mesin ini memungkinkannya membuat instruksi untuk dimasukkan ke dalam mesin dan juga membuatnya menjadi programmer wanita yang pertama. Pada tahun 1980,Departemen Pertahanan Amerika Serikat menamakan sebuah bahasa pemrograman dengan nama ADA sebagai penghormatan kepadanya.


Pada Tahun 1889,Herman Hollerith (1860-1929) juga menerapkan prinsip kartu perforasi untuk melakukan penghitungan. Tugas pertamanya adalah menemukan cara yang lebih cepat untuk melakukan perhitungan bagi Biro Sensus Amerika Serikat. Sensus sebelumnya yang dilakukan di tahun 1880 membutuhkan waktu tujuh tahun untuk menyelesaikan perhitungan. Dengan berkembangnya populasi,Biro tersebut memperkirakan bahwa dibutuhkan waktu sepuluh tahun untuk menyelesaikan perhitungan sensus.
Mesin uap Babbage,walaupun tidak pernah selesai dikerjakan,tampak sangat primitif apabila dibandingkan dengan standar masa kini. Bagaimanapun juga,alat tersebut menggambarkan elemen dasar dari sebuah komputer modern dan juga mengungkapkan sebuah konsep penting. Terdiri dari sekitar 50.000 komponen,disain dasar dari Analytical Engine menggunakan kartu-kartu perforasi (berlubang-lubang) yang berisi instruksi operasi bagi mesin tersebut.
Hollerith menggunakan kartu perforasi untuk memasukkan data sensus yang kemudian diolah oleh alat tersebut secara mekanik. Sebuah kartu dapat menyimpan hingga 80 variabel. Dengan menggunakan alat tersebut,hasil sensus dapat diselesaikan dalam waktu enam minggu.Selain memiliki keuntungan dalam bidang kecepatan,kartu tersebut berfungsi sebagai media penyimpan data. Tingkat kesalahan perhitungan juga dapat ditekan secara drastis.
Hollerith kemudian mengembangkan alat tersebut dan menjualnya ke masyarakat luas. Ia mendirikan Tabulating Machine Company pada tahun 1896 yang kemudian menjadi International Business Machine (1924) setelah mengalami beberapa kali merger. Perusahaan lain seperti Remington Rand and Burroghs juga memproduksi alat pembaca kartu perforasi untuk usaha bisnis.Kartu perforasi digunakan oleh kalangan bisnis dan pemerintahan untuk permrosesan data hingga tahun 1960.

Pada masa berikutnya,beberapa Insinyur membuat penemuan baru lainnya.Vannevar Bush (1890-1974) membuat sebuah kalkulator untuk menyelesaikan persamaan differensial di tahun 1931. Mesin tersebut dapat menyelesaikan persamaan differensial kompleks yang selama ini dianggap rumit oleh kalangan akademisi.

Mesin tersebut sangat besar dan berat karena ratusan gerigi dan poros yang dibutuhkan untuk melakukan perhitungan. Pada tahun 1903,John V. Atanasoff dan Clifford Berry mencoba membuat komputer elektrik yang menerapkan aljabar Boolean pada sirkuit elektrik. Pendekatan ini didasarkan pada hasil kerja George Boole (1815-1864) berupa sistem biner aljabar,yang menyatakan bahwa setiap persamaan matematik dapat dinyatakan sebagai benar atau salah. Dengan mengaplikasikan kondisi benar-salah ke dalam sirkuit listrik dalam bentuk terhubung-terputus,Atanasoff dan Berry membuat komputer elektrik pertama di tahun 1940.
Wahh banyak juga yah yang ikut berpartisipasi dalam menemukan komputer ini

Mari kita bahas perkembangan komputer pada genersi ke generasi yo:
Generasi Pertama Perkembangan Komputer
Pada tahap pertama ini, perkembangan komputer mendapatkan faktor dorongan positif dari meletusnya perang dunia ke-dua. Dengan kata lain, pihak militer yang berperang sadar betul bahwa dengan mengadakan riset terhadap komputer maka akan mendatangkan kemajuan teknologi untuk suatu kemenangan perperangan. Mereka sadar betul dengan kemampuan potensial yang dimiliki oleh komputer. Oleh karena itu pada masa itu banyak tersedia dana yang sengat berlimpah untuk penelitian perkembangan komputer.

Dampak dari tersedianya dana yang melimpah ini sangat signifikan, hal ini terlihat dengan ditemukannya jenis komputer yang diberi nama “K3″ untuk mendesain pesawat dan peluru kendali, oleh konrad Zuse, 1941 seorang ilmuwan Jerman. Kemudian tak mau kalah imuwan Inggris pada tahun 1943 dengan tujuan untuk mengalahkan Jerman, berhasil menemukan mesin komputer yang diberi nama Colossus yang didesain untuk memecahkan kode-kode sandi dari tentara Jerman. Colossus inilah merupakan salah satu alat penting yang menjadi modal kemenangan Sekutu atas Jerman pada perang dunia II. Namun sayangnya lahirnya Colossus tidak berpengaruh besar terhadap perkembangan dunia komupeter waktu itu, hal ini disebabkan oleh sifat karakterisitik dari Colossus itu sendiri yang bersifat tidak komputer serba-guna (general purpose computer) yang dimana hanya dirancang untuk memecahkan kode-kode rahasia Jerman dan kerahasian keberadaannya dijaga hampir satu dekade karena alasan keamanan untuk mencegah meletusnya perang kembali.

Dari pihak Amerika terus melakukan penelitian komputer untuk terus tetap berkembang. Pada tahun 1900 s.d 1973, seorang insinyur dari Harvard Howard H. Aiken dengan bekerja sama dengan IBM berhasil menciptakan kalkulator elektronik dengan panjang setengah lapangan bola kaki dan mempunyai panjang kabel total 500 mil untuk proyek US Navy yang diberi nama Mark I.

Setelah Mark I lahir, kemudian tercipta komputer yang bersifat serba guna (general purpose computer) yang dibuat oleh John Presper Eckert (1919-1995) dan John W.Mauchly (1907-1980) yang diberi nama ENIAC. ENIAC berhasil dibuat dengan prakarsa kerja-sama Amerika Serikat dan University of Pennsylvania. ENIAC sendiri merupakan kepanjangan dari Electronic Numerical Integrator and Computer. ENIAC dapat bekerja dengan kecepatan 1000 kali lebih cepat dibandingkan dengan Mark I.

Walaupun Colossus tidak boleh disentuh, beberapa penelitian tidak berhenti sampai disitu! Diawali pada pertengahan tahun 1940, tim University of Pennsylvania dan John von Neumann (1903-1957) memiliki konsep besar untuk memproduksi komputer dengan kapasitas yang dapat digunakan dalam 40 tahun ke-depan! Dari kerja-sama tim ini terciptalah pada akhit tahun 1945, komputer yang diberi nama Electronic Discrete Variable Automatic Computer(EDVAC). Inti besar dari nilai potensial keberhasilan dari EDVAC adalah adanya unit pemrosesan sentral (CPU). Hal ini membuat komputer dapat dikontrol dan dikendalikan dengan sumber tunggal. Selain itu EDVAC memiliki memori untuk menampung program ataupun data. Sehingga hal ini memungkinkan komputer untuk dapat berhenti pada suatu waktu tertentu dan kemudian dapat dapat diatur untuk dapat melanjutkannya kembali. EDVAC mendorong tumbuhnya industri komputer komersial, oleh karena itu tak heran pada tahun 1951, lahirlah merek UNIVAC I (Universal Automatic Computer I) menjadi komputer komersial pertama yang memanfaatkan prinsip kerja EDVAC, yang dilakukan oleh Remington Rand.

Dari uraian diatas terlihat bahwa perkembangan komputer generasi pertama umumnya dirancang untuk mengerjakan suatu tugas spesifik tertentu dimana hal ini dicirikan dengan adanya program kode-biner yang sangat berbeda (machine language). Hal ini membuat sistem kerja generasi komputer pertama sangat dibatasi. Kemudian komputer dari generasi pertama biasanya terdapat penggunaan tube vakum (sehingga membuat ukuran komputer sangatlah besar) dan untuk penyimpanan datanya menggunakan silinder magnetik.

Generasi Ke-dua Perkembangan Komputer

Pada tahap ini sangat dipengaruhi dengan adanya penemuan transistor pada tahun 1948. Dengan adanya penemuan transistor ini sangat mempengaruhi untuk menggantikan fungsi tube vakum dalam televise, radio, dan tentunya pada komputer. Secara resmi transistor mulai digunakan di dalam komputer sejak tahun 1956. Hal ini sangat mempengaruhi dari hasil ukuran sebuah komputer dibandingkan jika masih menggunakan tube vakum. Pengecilan ukuran komputer semakin dipercepat dengan adanya penemuan lainnya seperti perkembangan dan pengembangan memori inti magnetik. Beberapa produk yang menggunakan teknologi ini adalah komputer produksi IBM dengan skema peluncuran bertahap seperti Strecth dan tak mau kalah Sprery-Rand membuat komputer bernama LARC dll. Perkembangan komputer dengan tujuan komersial semakin terlihat di tahun 1960, dengan ditandainya suksesnya bermunculan komputer untuk di bidang bisnis, pemerintahan dan pendidikan. Pada saat itu juga bermunculan aksesoris pendukung seperti printer, disket, program dll.

Perkembangan yang dipaparkan pada paragraph sebelumnya juga turut mendukung untuk lahirnya bahasa pemograman yang dapat dipelajari seperti FormulaTranslator (FORTRAN) dan Common Business-Oriented Language (COBOL). Industi komputer mulai berkembang pesat pada masa perkembangan komputer generasi ke-dua. Selain itu pada masa ini juga merupakan awal untuk munculnya bidang kerja baru seperti ahli sistem komputer, programer (ahli program) dan analisis data.

Generasi Ke-tiga Perkembangan Komputer
Inti dari pada tahap generasi ke-tiga adalah pada tahun 1958 ditemukannya IC (Intergrated Circuit). Penemuan IC dilatarbelakangi oleh tidak puasnya pada kerja transistor dimana ketika digunakan didalam komputer akan menghasilkan panas yang sangat besar sehingga dapat merusak komponen yag lainnya. IC terbuat dari quarsa rock (batu quarsa) yang ditemukan oleh seorang ilmuwan ahli instrument dari Texas, Jack Kilby. Hal ini-pulalah yang mendorng penemuan-penemuan penting sehingga suatu chip dapat mewakili beberapa komponen yang dibutuhkan oleh komputer. Akibatnya komputer terlihat lebih bersahabat dan nyaman ketka digunakan karena ukurannya yang semakin mengecil.

Generasi Ke-empat Perkembangan Komputer
Untuk perkembangan komputer pada generasi ini mungkin sudah dapat disekitar lingkungan kita. Penemuan IC yang spektakuler sebelumnya membuat perkembangan dunia komputer berkembang dengan pesat. Hal ini dengan ditandai dengan ditemukan komponen yang lebih unggul dibandingkan IC beserta turunannya.

Komponen yang dimaksud adalah seperti dengan berhasil diproduksinya suatu komponen yang dapat mewakilki beberapa komponen (kapasistanya lebih unggul dari pada IC) yaitu Large Scale Integration (LSI) dimana dapat memuat ratusan komponen dalam hanya sebuah chip. Tak selang berapa lama (1980) kemudian juga ditemukan produk turunannya yaitu 1980-an, Very Large Scale Integration (VLSI) yang memiliki kemampuan luar biasa untuk dapat memuat ribuan komponen hanya dalam sebuah chip tunggal. Dan mungkin Ultra-Large Scale Integration (ULSI) yang memiliki kemampuan yang lebih luar biasa untuk dapat meningkatkan jumlah tersebut menjadi jutaan.

Dengan adanya penemuan diatas diharapkan akan berdampak pada penekanan biaya pembuatan komputer sehingga harga komputer-pun akan semakin lebih murah dan terjangkau oleh masyarakat tingkat menengah ke bawah. Salah satu contoh produk dipasaran yang mungkin sering pernah kita dengar sampai sekarang adalah Chip Intel 4004 yang dibuat pada pertengahan tahun 1971. Hal ini lah awal mulanya komputer dibuat dan disain untuk keperluan komersial yang dapat terjangkau untuk semua pihak.

Generasi Ke-lima Perkembangan Komputer (Komputer Masa Depan)
Baik, pada perkembangan komputer untuk masa ke-lima ini memang sangat susah. Karena masih dalam sebatas imajinasi. Mungkin bagi Anda yang membaca tulisan ini pernah menonton film berjudul “2001:Space Odyssey” karya dari Arthur C. Clarke. Dalam film tersebut merupakan gambaran komputer masa depan yang mungkin masih dalam imajinasi dalam pikiran kita. Dalam film tersebut komputer dapat diprogram sehingga dapat mendekati pemikiran manusia. Yang lebih parah dalam film tersebut komputer mampu untuk memprogram dirinya sendiri sehingga bisa saja mungkin pemikirannya mengalahkan pemikiran manusia.

Meskipun gambaran visual yang ditayangkan dalam komputer tersebut masih jauh dari pemikiran kita dan realita, namun tanda-tanda untuk mewujudkan itu semua sudah terlihat. Sejauh ini telah ada komputer yang dapat diprogram untuk dapat merespon printah secara lisan maupun nalar manusia.

Dewasa ini telah banyak kemajuan teknologi untuk mendukung perkembangan teknologi komputer. Diantaranya telah ditemukannya kemampuan pemrosesan parallel dimana direncanakan untuk menggantikan model non Neumann! Dimana sistem pemrosesan parallel itu akan mampu bekerja mengkoordinasikan banyak CPU untuk secara serempak. Selain itu juga telah ditemukan teknologi superkonduktor, sehingga dapat menghantarkan informasi lebih cepat dibandingkan dengan teknologi yang digunakan sebelumnya. Apapun yang terjadi, yang jelas secanggih apapun kemampun sebuah komputer tidak akan bisa mengalahkan kemampuan yang membuatnya, yaitu pikiran manusia. hehehehe

Perkembangan Sistem Operasi
1956 – GM-NAA I/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 – Xerox Alto
Sistem pertama dengan graphical interface yang hanya digunakan untuk penelitian sampai 1981
1981 – MS DOS
Sistem operasi sederhana yang ditawarkan standar pada PC dan membantu Microsoft menuju keberhasilan
1983 – Lisa OS
Apple mengeluarkan Desktop pertama yang dilengkapi dengan perangkat kontrol mouse untuk sebuah PC. Tidaklama kemudian, Microsoft meniru konsep tersebut.
1985 – Windows 1.0
Dirancang dengan interface untuk DOS, Windows 1.0 dikembangkan selama 2 tahun. Namun,sistem ini tidak berhasil dipasaran.
1989 – Epoc16
Nenek moyang Symbian OS ini merupakan sistem operasi multitasking pertama dengan graphical interface untuk perangkat mobile.
1992 – Linux
Sistem dengan kernel Unix ini ditawarkan oleh Linus Torvalds sebagai Open SOurce. Awalnya nama sistem ini disebut Freax
1995 – Windows 95
Sistem 32 bit Microsoft untuk home user yang cukup berhasil. Dalam 4 hari penjualan sistem ini sudah terjual 1 juta lisensi.
2001 – Windos Xp dan Mac OS X
Windows XP : Gabungan sistem berbasis NT dan 95 ini sampai sekarang masih menjadi Windows yang paling populer
Mac OS X : Apple melakukan perubahan sistem yang besar dan memperkenalkan sebuah OS berbasis UNIX dengan Desktop beranimasi
2007 – Singularity
Microsoft reserach mengembangkan sebuah sistem operasi baru. Dengan arsitektur yang pintar, sistem operasi ini tidak lagi mengalami bluescreens dan buffer overflows
2010 – Windows 7
Sistem modern harus serba bisa. Penerus vista ini cukup nyaman digunakan pada netbook dan dioperasikan melalui touchscreen.
dan sekarang ada window 8 yang lebih canggih kreen deh.

“tak lengkap rasanya kalau komputer tanpa internet, mari kia simak sejarah internet dan asal-muasalnya yuuk!. lets go!!”

banyak orang- orang menggunakan internet. apa arti dari internet itu sih?

Internet merupakan jaringan komputer yang dibentuk oleh Departemen Pertahanan Amerika Serikat pada tahun 1969, melalui proyek ARPA yang disebut ARPANET (Advanced Research Project Agency Network), di mana mereka mendemonstrasikan bagaimana dengan hardware dan software komputer yang berbasis UNIX, kita bisa melakukan komunikasi dalam jarak yang tidak terhingga melalui saluran telepon.

Sejarah internet dimulai pada 1969 ketika Departemen Pertahanan Amerika, Defense Advanced Research Projects Agency(DARPA) memutuskan untuk mengadakan riset tentang bagaimana caranya menghubungkan sejumlah computer sehingga membentuk jaringan organik. Program riset ini dikenal dengan nama ARPANET.

Pada 1970, sudah lebih dari 10 komputer yang berhasil dihubungkan satu sama lain sehingga mereka bisa saling berkomunikasi dan membentuk sebuah jaringan. Tahun 1972, Roy Tomlinson berhasil menyempurnakan program e-mail yang ia ciptakan setahun yang lalu untuk ARPANET. Program e-mail ini begitu mudah sehingga langsung menjadi populer.

Pada tahun yang sama, icon @ juga diperkenalkan sebagai lambang penting yang menunjukan “at” atau “pada”. tahun 1973, jaringan komputer ARPANET mulai dikembangkan ke luar Amerika Serikat. Komputer University College di London merupakan komputer pertama yang ada di luar Amerika yang menjadi anggota jaringan Arpanet. Pada tahun yang sama, dua orang ahli komputer yakni Vinton Cerf dan Bob Kahn mempresentasikan sebuah gagasan yang lebih besar, yang menjadi cikal bakal pemikiran internet. Ide ini dipresentasikan untuk pertama kalinya di Universitas Sussex.

Hari bersejarah berikutnya adalah tanggal 26 Maret 1976, ketika Ratu Inggris berhasil mengirimkan e-mail dari Royal Signals and Radar Establishment di Malvern. Setahun kemudian, sudah lebih dari 100 komputer yang bergabung di ARPANET membentuk sebuah jaringan atau network. Pada 1979, Tom Truscott, Jim Ellis dan Steve Bellovin, menciptakan newsgroups pertama yang diberi nama USENET. Tahun 1981 France Telecom menciptakan gebrakan dengan meluncurkan telpon televisi pertama, dimana orang bisa saling menelpon sambil berhubungan dengan video link.

Karena komputer yang membentuk jaringan semakin hari semakin banyak, maka dibutuhkan sebuah protokol resmi yang diakui oleh semua jaringan. Pada tahun 1982 dibentuk Transmission Control Protocol atau TCP dan Internet Protokol atau IP yang kita kenal semua. Sementara itu di Eropa muncul jaringan komputer tandingan yang dikenal dengan Eunet, yang menyediakan jasa jaringan komputer di negara-negara Belanda, Inggris, Denmark dan Swedia. Jaringan Eunet menyediakan jasa e-mail dan newsgroup USENET.

Untuk menyeragamkan alamat di jaringan komputer yang ada, maka pada tahun 1984 diperkenalkan sistem nama domain, yang kini kita kenal dengan DNS atau Domain Name System. Komputer yang tersambung dengan jaringan yang ada sudah melebihi 1000 komputer lebih. Pada 1987 jumlah komputer yang tersambung ke jaringan melonjak 10 kali lipat manjadi 10.000 lebih. Tahun 1988, Jarko Oikarinen dari Finland menemukan dan sekaligus memperkenalkan IRC atau Internet Relay Chat. Setahun kemudian, jumlah komputer yang saling berhubungan kembali melonjak 10 kali lipat dalam setahun. Tak kurang dari 100.000 komputer kini membentuk sebuah jaringan.

Tahun 1990 adalah tahun yang paling bersejarah, ketika Tim Berners Lee menemukan program editor dan browser yang bias menjelajah antara satu komputer dengan komputer yang lainnya, yang membentuk jaringan itu. Program inilah yang disebut www, atau Worl Wide Web. Tahun 1992, komputer yang saling tersambung membentuk jaringan sudah melampaui sejuta komputer, dan di tahun yang sama muncul istilah surfing the internet. Tahun 1994, situs internet telah tumbuh menjadi 3000 alamat halaman, dan untuk pertama kalinya virtual-shopping atau e-retail muncul di internet. Dunia langsung berubah. Di tahun yang sama Yahoo! didirikan, yang juga sekaligus kelahiran Netscape Navigator 1.0.

Internet Saat Ini

perkembangan internet saat ini?

internet dijaga oleh perjanjian bi- atau multilateral dan spesifikasi teknikal (protokol yang menerangkan tentang perpindahan data antara rangkaian). Protokol-protokol ini dibentuk berdasarkan perbincangan Internet Engineering Task Force (IETF), yang terbuka kepada umum. Badan ini mengeluarkan dokumen yang dikenali sebagai RFC (Request for Comments). Sebagian dari RFC dijadikan Standar Internet (Internet Standard), oleh Badan Arsitektur Internet (internetArchitecture Board – IAB). Protokol-protokol Internet yang sering digunakan adalah seperti, IP, TCP, UDP, DNS, PPP, SLIP, ICMP, POP3, IMAP, SMTP, HTTP, HTTPS, SSH, Telnet, FTP, LDAP, dan SSL. Beberapa layanan populer di Internet yang menggunakan protokol di atas, ialah email/surat elektronik, Usenet, Newsgroup, berbagi berkas (File Sharing), WWW (World Wide Web), Gopher, akses sesi (Session Access), WAIS, finger, IRC, MUD, dan MUSH. Di antara semua ini, email/surat elektronik dan World Wide Web lebih kerap digunakan, dan lebih banyak servis yang dibangun berdasarkannya, seperti milis (Mailing List) dan Weblog. Internet memungkinkan adanya servis terkini (Real-time service), seperti web radio, dan webcast, yang dapat diakses di seluruh dunia. Selain itu melalui Internet dimungkinkan untuk berkomunikasi secara langsung antara dua pengguna atau lebih melalui program pengirim pesan instan seperti Camfrog, Pidgin (Gaim), Trilian, Kopete, Yahoo! Messenger, MSN Messenger dan Windows Live Messenger. Beberapa servis Internet populer yang berdasarkan sistem tertutup (Proprietary System), adalah seperti IRC, ICQ, AIM, CDDB, dan Gnutella.

internet juga ada budayanya juga.
Budaya Internet
Jumlah pengguna Internet yang besar dan semakin berkembang, telah mewujudkan budaya Internet. Internet juga mempunyai pengaruh yang besar atas ilmu, dan pandangan dunia. Dengan hanya berpandukan mesin pencari seperti Google, pengguna di seluruh dunia mempunyai akses Internet yang mudah atas bermacam-macam informasi. Dibanding dengan buku dan perpustakaan, Internet melambangkan penyebaran(decentralization) / pengetahuan (knowledge) informasi dan data secara ekstrim. Perkembangan internet juga telah mempengaruhi perkembangan ekonomi. Berbagai transaksi jual beli yang sebelumnya hanya bisa dilakukan dengan cara tatap muka (dan sebagian sangat kecil melalui pos atau telepon), kini sangat mudah dan sering dilakukan melalui internet.

internet bisa melakukan transaksi?

Transaksi melalui Internet ini dikenal dengan nama e-commerce. Terkait dengan pemerintahan, Internet juga memicu tumbuhnya transparansi pelaksanaan pemerintahan melalui e-government seperti di kabupaten Sragen yang mana ternyata berhasil memberikan peningkatan pemasukan daerah dengan memanfaatkan Internet untuk transparansi pengelolaan dana masyarakat dan pemangkasan jalur birokrasi, sehingga warga di daerah terebut sangat di untungkan demikian para pegawai negeri sipil dapat pula di tingkatkan kesejahterannya karena pemasukan daerah meningkat tajam.

internet juga ada tata tertibnya loh !!
Tata tertib internet
Sama seperti halnya sebuah komunitas, Internet juga mempunyai tata tertib tertentu, yang dikenal dengan nama Nettiquette atau dalam bahasa Indonesia dikenal dengan istilah netiket. Untuk di Indonesia selain tata tertib sosial di Internet juga diberlakukan peraturan (UU ITE).
Isu moral dan undang-undang
Terdapat kebimbangan masyarakat tentang Internet yang berpuncak pada beberapa bahan kontroversi di dalamnya. Pelanggaran hak cipta, pornografi, pencurian identitas, dan pernyataan kebencian (hate speech), adalah biasa dan sulit dijaga. Hingga tahun 2007, Indonesia masih belum memiliki Cyberlaw, padahal draft akademis RUU Cyberlaw sudah dibahas sejak tahun 2000 oleh Ditjen Postel dan Deperindag. UU yang masih ada kaitannya dengan teknologi informasi dan telekomunikasi adalah UU Telekomunikasi tahun 1999. Internet juga disalahkan oleh sebagian orang karena dianggap menjadi sebab kematian. Brandon Vedas meninggal dunia akibat pemakaian narkotik yang melampaui batas dengan semangat dari teman-teman chatting IRCnya. Shawn Woolley bunuh diri karena ketagihan dengan permainan online, Everquest. Brandes ditikam bunuh, dan dimakan oleh Armin Meiwes setelah menjawab iklan dalam Internet.
Akses Internet
Negara dengan akses internet yang terbaik termasuk Korea Selatan (50% daripada penduduknya mempunyai akses jalurlebar – Broadband), dan Swedia. Terdapat dua bentuk akses Internet yang umum, yaitu dial-up, dan jalurlebar. Di Indonesia, seperti negara berkembang dimana akses Internet dan penetrasi PC sudah cukup tinggi dengan di dukungnya Internet murah dan netbook murah, hanya saja di Indonesia operator kurang fair dalam menentukan harga dan bahkan ada salah satu operator yang sengaja membuat “perangkap jebakan” agar supaya si pengguna Internet bayar lebih mahal sampai ber juta-juta rupiah!!, lainnya sekitar 42% dari akses Internet melalui fasilitas Public Internet akses seperti warnet , cybercafe, hotspot dll. Tempat umum lainnya yang sering dipakai untuk akses Internet adalah di kampus dan di kantor.
Disamping menggunakan PC (Personal Computer), kita juga dapat mengakses Internet melalui Handphone (HP) menggunakan Fasilitas yang disebut GPRS (General Packet Radio Service). GPRS merupakan salah satu standar komunikasi wireless (nirkabel) yang memiliki kecepatan koneksi 115 kbps dan mendukung aplikasi yang lebih luas (grafis dan multimedia). Teknologi GPRS dapat diakses yang mendukung fasilitas tersebut. Pen-setting-an GPRS pada ponsel Tergantung dari operator (Telkomsel, Indosat, XL, 3) yang digunakan. Biaya akses Internet dihitung melalui besarnya kapasitas (per-kilobite) yang didownload.

filusuf & sufi moderen

inilah seorang filusuf sekaligus sufi terkenal muncul sebagai penengah di dunia tasawuf dan filsafat beliau adalah Abu Hamid Muhammad bin Muhammad al Ghazali ath-Thusi asy-Syafi’i (lahir di Thus; 1058 / 450 H – meninggal di Thus; 1111 / 14 Jumadil Akhir 505 H; umur 52–53 tahun) adalah seorang filosof dan teolog muslim Persia, yang dikenal sebagai Algazel di dunia Barat abad Pertengahan.

Ia berkuniah Abu Hamid karena salah seorang anaknya bernama Hamid. Gelar beliau al-Ghazali ath-Thusi berkaitan dengan ayahnya yang bekerja sebagai pemintal bulu kambing dan tempat kelahirannya yaitu Ghazalah di Bandar Thus, Khurasan, Persia (Iran). Sedangkan gelar asy-Syafi’i menunjukkan bahwa beliau bermazhab Syafi’i. Ia berasal dari keluarga yang miskin. Ayahnya mempunyai cita-cita yang tinggi yaitu ingin anaknya menjadi orang alim dan saleh. Imam Al-Ghazali adalah seorang ulama, ahli pikir, ahli filsafat Islam yang terkemuka yang banyak memberi sumbangan bagi perkembangan kemajuan manusia. Ia pernah memegang jawatan sebagai Naib Kanselor di Madrasah Nizhamiyah, pusat pengajian tinggi di Baghdad. Imam Al-Ghazali meninggal dunia pada 14 Jumadil Akhir tahun 505 Hijriah bersamaan dengan tahun 1111 Masehi di Thus. Jenazahnya dikebumikan di
Sifat PribadiImam al-Ghazali mempunyai daya ingat yang kuat dan bijak berhujjah. Ia digelar Hujjatul Islam karena kemampuannya tersebut. Ia sangat dihormati di dua dunia Islam yaitu Saljuk dan Abbasiyah yang merupakan pusat kebesaran Islam. Ia berjaya menguasai pelbagai bidang ilmu pengetahuan. Imam al-Ghazali sangat mencintai ilmu pengetahuan. Ia juga sanggup meninggalkan segala kemewahan hidup untuk bermusafir dan mengembara serta meninggalkan kesenangan hidup demi mencari ilmu pengetahuan. Sebelum beliau memulai pengembaraan, beliau telah mempelajari karya ahli sufi ternama seperti al-Junaid Sabili dan Bayazid Busthami. Imam al-Ghazali telah mengembara selama 10 tahun. Ia telah mengunjungi tempat-tempat suci di daerah Islam yang luas seperti Mekkah, Madinah, Jerusalem, dan Mesir. Ia terkenal sebagai ahli filsafat Islam yang telah mengharumkan nama ulama di Eropa melalui hasil karyanya yang sangat bermutu tinggi. Sejak kecil lagi beliau telah dididik dengan akhlak yang mulia. Hal ini menyebabkan beliau benci kepada sifat riya, megah, sombong, takabur, dan sifat-sifat tercela yang lain. Ia sangat kuat beribadat, wara’, zuhud, dan tidak gemar kepada kemewahan, kepalsuan, kemegahan dan mencari sesuatu untuk mendapat ridha Allah SWT.
PendidikanPada tingkat dasar, beliau mendapat pendidikan secara gratis dari beberapa orang guru karena kemiskinan keluarganya. Pendidikan yang diperoleh pada peringkat ini membolehkan beliau menguasai Bahasa Arab dan Parsi dengan fasih. Oleh sebab minatnya yang mendalam terhadap ilmu, beliau mula mempelajari ilmu ushuluddin, ilmu mantiq, usul fiqih,filsafat, dan mempelajari segala pendapat keeempat mazhab hingga mahir dalam bidang yang dibahas oleh mazhab-mazhab tersebut. Selepas itu, beliau melanjutkan pelajarannya dengan Ahmad ar-Razkani dalam bidang ilmu fiqih, Abu Nasr al-Ismail di Jarajan, dan Imam Harmaim di Naisabur. Oleh sebab Imam al-Ghazali memiliki ketinggian ilmu, beliau telah dilantik menjadi mahaguru di Madrasah Nizhamiah (sebuah universitas yang didirikan oleh perdana menteri) di Baghdad pada tahun 484 Hijrah. Kemudian beliau dilantik pula sebagai Naib Kanselor di sana. Ia telah mengembara ke beberapa tempat seperti Mekkah,Madinah,Mesir dan Jerusalem untuk berjumpa dengan ulama-ulama di sana untuk mendalami ilmu pengetahuannya yang ada. Dalam pengembaraan, beliau menulis kitab Ihya Ulumuddin yang memberi sumbangan besar kepada masyarakat dan pemikiran manusia dalam semua masalah.
hemmm cukup terinspriasi dengan sesosok beliau bagaimana dengan kalian setelah membaca biodata beliau….