Rabu, 02 Januari 2013

Sistem Operasi Windows


Sistem Operasi Windows - Sebelum membahas lebih jauh tentang Sistem Operasi Windows yang akan dipaparkan dalam artikel ini, maka alangkah lebih baiknya kita mengetahui sekilas terlebih dahulu tentang Sistem Operasi yaitu perangkat lunak dalam sebuah komputer yang bertugas untuk melakukan kontrol dan memanajemen peragkat keras serta operasi-operasi dasar sistem yang mencakup berbagai perangkat lunak aplikasi (sistim aplikasi) seperti program pengolah data, seperti halnya winampz, web browser, microsof office, dan lain sebagainya.

Sebenarnya Sistem Operasi cukup banyak seperti halnya beberapa sistem operasi dari keluarga unix yang mencakup sistem operasi Posix, GNU/Linux, GNU/Hurd, dan lain sebagainya, serta ada juga sistem operasi Mac OS, yaitu sistem operasi yang biasanya digunakan untuk berbagai komputer produk Apple.

Sementara salah satu Sistem Operasi yang paling terkenal karena paling banyak digunakan diseluruh dunia dan termasuk juga di Indonesia adalah Sistem Operasi Windows. Sistem Operasi ini dikembangkan oleh Microsoft dengan menggunakan antarmuka berbasis grafik.

Bila menelusuri evolusi dari Sistem Operasi Windows, maka sebenarnya sistem operasi ini adalah pengembangan dari sistem operasi MS-DOS, yaitu sebuah sistem operasi yang berbasi modus teks dan command-line.

System Operasi Windows sendiri pada awal perkembangannya muncul pada, November 1983, dimana pada saat itu pengembangan MS-DOS telah mengarah ke sistem operasi yang disebut Windows Graphic Environment 1.0. Untuk Sistem Operasi Windows yang bisa disebut sebagai generasi pertama ini dibuat untuk memenuhi kebutuhan komputer dengan tampilan bergambar.

Meski terlah diperkenalkan pada bulan November 1983. Namun sistem operasi windows generasi pertama ini baru dipasarkan pada bulan November tahun 1985, atau setelah 2 tahun dikembangkan terlebih dahulu.

Sampai saat ini sudah beberapa puluh kali produk Sistem Operasi Windows berevolusi semenjak kemunculan pertamanya dengan Windows I. Antara tahun 1985 sampai tahun 1993 saja tercatat ada sekitar enam kali perubahan evolusi sistem operasi windows itu sendiri.

Berikut adalah daftar evolusi Sistem Operasi Windows dari awal sampai saat ini seperti yang didapatkan penulis dari situs wikipedia:

I. 16-bit, berjalan di atas MS-DOS

- 1985 November - Windows 1.0
- 1987 9 Desember - Windows 2.0
- 1990 22 Mei - Windows 3.0
- 1992 Agustus - Windows 3.1
- 1992 Oktober - Windows for Workgroups 3.1
- 1993 November - Windows for Workgroups 3.11

II. Hibrida (16-bit/32-bit), berjalan tanpa MS-DOS

- 1995 24 Agustus - Windows 95 (Versi: 4.00.950)
- 1998 25 Juni - Windows 98 (Versi: 4.1.1998)
- 1999 5 Mei - Windows 98 Second Edition (Versi: 4.1.2222)
- 2000 19 Juni - Windows Millennium Edition (Me) (Versi: 4.9.3000)

III. Berbasis kernel Windows NT

- 1993 Agustus - Windows NT 3.1
- 1994 September - Windows NT 3.5
- 1995 Juni - Windows NT 3.51
- 1996 29 Juli - Windows NT 4.0
- 2000 17 Februari - Windows 2000 (Versi: NT 5.0.2195)
- 2002 - Windows XP (Versi: NT 5.1.2600)
- 2003 - Windows Server 2003 (Versi: NT 5.2.3790)
- 2006 - Windows Vista (Versi 6.0 Build 6000)
- 2007 - Windows Home Server (Versi 6.0.1800.24)
- 2008 - Windows Server 2008 (Versi 6.1)
- 2009 - Windows 7 (Versi 6.1 Build 7600)
- 2009 - Windows Server 2008 R2 (Versi 6.1)

Artikel Jaringan Komputer


Artikel Jaringan Komputer


Tiga abad sebelum sekarang, masing-masing ditandai dengan dominasi yang berbeda. Abad ke-18 didominasi oleh perkembangan sistem mekanik yang mengiringi revolusi industri. Abad ke-19 merupakan jaman mesin uap. Abad ke-20, teknologi radio, tv dan komputer memegang peranan untuk pengumpulan, pengolahan dan media distribusi informasi. Abad ke-21 saat ini atau era-informasi, dimana teknologi jaringan komputer global yang mampu menjangkau seluruh wilayah dunia, pengembangan sistem dan teknologi yang digunakan, penyebaran informasi melalui media internet, peluncuran satelit-satelit komunikasi dan perangkat komunikasi wireless/selular menandai awal abad millenium.

Sejak me-masyarakat-nya internet dan dipasarkannya sistem operasi Windows95 oleh Microsoft Inc., menghubungkan beberapa komputer baik komputer pribadi (PC) maupun server dengan sebuah jaringan dari jenis LAN (Local Area Network) sampai WAN (Wide Area Network) menjadi sebuah hal yang mudah dan biasa. Demikian pula dengan konsep "downsizing" maupun "lightsizing" yang bertujuan menekan anggaran belanja (efisiensi anggaran) khususnya peralatan komputer, maka kebutuhan akan sebuah jaringan komputer merupakan satu hal yang tidak bisa terelakkan.
  • Pengertian Jaringan Komputer
Jaringan komputer adalah ”interkoneksi” antara 2 komputer autonomous atau lebih, yang terhubung dengan media transmisi kabel atau tanpa kabel (wireless). 

Autonomous adalah apabila sebuah komputer tidak melakukan kontrol terhadap komputer lain dengan akses penuh, sehingga dapat membuat komputer lain, restart, shutdows, kehilangan file atau kerusakan sistem. Dalam defenisi networking yang lain autonomous dijelaskan sebagai jaringan yang independent dengan manajemen sistem sendiri (punya admin sendiri), memiliki topologi jaringan, hardware dan software sendiri, dan dikoneksikan dengan jaringan autonomous yang lain. (Internet merupakan contoh kumpulan jaringan autonomous yang sangat besar.)

Dua unit komputer dikatakan terkoneksi apabila keduanya bisa saling bertukar data/informasi, berbagi resource yang dimiliki, seperti: file, printer, media penyimpanan (hardisk, floppy disk, cd-rom, flash disk, dll). Data yang berupa teks, audio maupun video, bergerak melalui media kabel atau tanpa kabel (wireless) sehingga memungkinkan pengguna komputer dalam jaringan komputer  dapat saling bertukar  file/data, mencetak pada printer yang sama dan menggunakan hardware/software  yang terhubung dalam jaringan bersama-sama 

Tiap  komputer, printer atau  periferal  yang terhubung dalam jaringan disebut dengan ”node”. Sebuah jaringan komputer sekurang-kurangnya terdiri dari dua unit komputer atau lebih, dapat berjumlah puluhan komputer, ribuan atau bahkan jutaan node yang saling terhubung satu sama lain. Didalam jaringan komputer dikenal sistem koneksi antar node (komputer),  yakni:
Peer artinya rekan sekerja. Peer-to-peer network adalah jaringan komputer yang terdiri dari beberapa komputer, terhubung langsung dengan kabel crossover atau wireless atau juga dengan perantara hub/switch.
Komputer pada jaringan peer to peer ini biasanya berjumlah sedikit dengan 1-2 printer. Untuk penggunaan khusus, seperti laboratorium komputer, riset dan beberapa hal lain, maka model peer to peer ini bisa saja dikembangkan untuk koneksi lebih dari 10 hingga 100 komputer.

Peer to peer adalah suatu model dimana tiap PC dapat memakai resource pada PC lain atau memberikan resourcenya untuk dipakai  PC lain, Tidak ada yang bertindak sebagai server yang mengatur sistem komunikasi dan penggunaan resource komputer yang terdapat dijaringan, dengan kata lain setiap komputer dapat berfungsi sebagai client maupun server pada periode yang sama.  

Misalnya terdapat beberapa unit komputer dalam satu departemen, diberi nama group sesuai dengan departemen yang bersangkutan. Masing-masing komputer diberi alamat IP dari satu kelas IP yang sama agar bisa saling sharing untuk bertukar data atau resource yang dimiliki komputer masing-masing, seperti printer, cdrom, file dan lain-lain.
Client Server merupakan model jaringan yang menggunakan satu atau beberapa komputer sebagai server yang memberikan resource-nya kepada komputer lain (client) dalam jaringan, server akan mengatur mekanisme akses resource yang boleh digunakan, serta mekanisme komunikasi antar node dalam jaringan.
Selain pada jaringan lokal, sistem ini bisa juga diterapkan dengan teknologi internet. Dimana ada suatu unit komputer) berfungsi sebagai server yang hanya memberikan pelayanan bagi komputer lain, dan client yang juga hanya meminta layanan dari server. Akses dilakukan secara transparan dari client dengan melakukan login terlebih dulu ke server yang dituju. 
Client hanya bisa menggunakan resource yang disediakan server sesuai dengan otoritas yang diberikan oleh administrator. Aplikasi yang dijalankan pada sisi client, bisa saja merupakan resource yang tersedia di server. namun hanya bisa dijalankan setelah terkoneksi ke server. Pada implementasi software splikasi yang di-install disisi client berbeda dengan yang digunakan di server.
Jenis layanan Client-Server antara lain :
1.     File Server      : memberikan layanan fungsi pengelolaan file. 
2.      Print Server   : memberikan layanan fungsi pencetakan.Database Server        : proses-proses fungsional mengenai database dijalankan pada mesin ini dan stasiun lain dapat minta pelayanan
3.      DIP (Document Information Processing) : memberikan pelayanan fungsi penyimpanan, manajemen dan pengambilan data
Kelebihan Jaringan Pear To Pear 
  • Implementasinya murah dan mudah 
  • Tidak memerlukan software administrasi jaringan yang khusus
  •  Tidak memerlukan administrator jaringan
Kekurangan Jaringan Pear To Pear
  • Jaringan tidak bisa terlalu besar (tidak bisa memperbesar jaringan.
  • Tingkat keamanan rendah.
  • Tidak ada yang memanajemen jaringan.
  • Pengguna komputer jaringan harus terlatih mengamankan komputer masing-masing.
  • Semakin banyak mesin yang disharing, akan mempengaruhi kinerja komputer

v      Kelebhan Client Sever
  • Mendukung keamanan jaringan yang lebih baik 
  • Kemudahan administrasi ketika jaringan bertambah besar
  •  Manajemen jaringan terpusat
  •  Semua data bisa disimpan dan di backup terpusat di satu lokasi
      Kekurangan Client Sever
  • Butuh administrator jaringan yang profesional 
  •  Butuh perangkat bagus untuk digunakan sebagai komputer server 
  •  Butuh software tool operasional untuk mempermudah manajemen jaringan.
  •  Anggaran untuk manajemen jaringan menjadi besar.
  •  Bila server down, semua data dan resource diserver tidak bisa diakses

Aturan Penulisan Algoritma

1.JUDUL

{ Kondisi awal (IS):………………. }
{ Kondisi akhir (FS):………………. }
Judul adalah bagian teks algoritma yang digunakan sebagai tempat pendefinisian nama dengan menentukan apakah teks tersebut adalah program, prosedur, atau fungsi. Nama judul algoritma sebaiknya singkat namun cukup menggambarkan apa yang akan dilakukan oleh algoritma tersebut.
Syarat pemberian nama :
a.Tidak boleh ada spasi,
contoh : menghitung luas lingkaran (salah), seharusnya menghitungluaslingkaran atau menghitung_luas_lingkaran
b.Tidak boleh ada symbol khusus kecuali symbol “ _ ” underscroll.
c.Penamaan tidak boleh diawali dengan angka.
d.Harus interpretative (sesuai dengan apa yang dilakukan algoritma).

2.Kamus (Deklarasi)

Kamus sebagai tempat untuk pendefinisian : nama tipe data, nama konstanta, nama variable, nama fungsi, nama prosedur. Semua nama itu baru dapat dipakai dalam algoritma jika telah didefinisikan dahulu dalam kamus. Penulisan sekumpulan nama dalam kamus sebaiknya dikelompokan manurut jenis nama itu.
Nama variable belum terdefinisi nilainya ketika didefinisikan. Pendefinisian nama konstanta sekaligus memberikan harga konstanta tersebut, pendefinisian nama fungsi dilakukan sekaligus dengan nama domain / range serta spesifikasinya. Pendefinisian nama prosedur sekaligus dengan pendefinisian parameter (jika ada) dan spesifikasi prosedurnya.

3.Algoritma (Deskripsi)

Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan. Komponen teks algoritma dalam pemrograman prosedural dapat berupa:
a.Intruksi dasar seperti input/output dan assignment
b.Sequence (runtutan)
c.Analisa kasus
d.Looping (perulangan)
Setiap langkah algoritma dibaca dari atas ke bawah. Urutan deskripsi atau algoritma penulisan menentukan urutan langkah pelaksanaan perintah.
Perintah dalam algoritma
1.Memasukan nilai / harga
a.Secara langsung, maksudnya adalah nilai telah di isi oleh programmer
Contoh : a <— 5
b.Secara tidak langsung, maksudnya, nilai di isi oleh user.
Dasar-dasar Algoritma Pemograman
     Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M.
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Hal ini ditekankan padaah. Hal ini ditekankan adala urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
     Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Hal pertama yang ditekankan adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
Definisi Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.
Contoh; Algoritma TUKAR ISI BEJANA
    Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
– Tuangkan larutan dari bejana A ke dalam bejana B
– Tuangkan larutan dari bejana B ke dalam bejana A.
Algoritma TUKAR ISI BEJANA di atas tidak menghasilkan pertukaran yang benar. Langkah di atas tidak logis, hasil pertukaran yang terjadi adalah percampuran kedua larutan tersebut.
Untuk mempertukarkan isi duah bejana, diperlukan sebuah bejana tambahan sebagai tempat penampungan sementara, misalnya bejana C. Maka algoritma untuk menghasilkan pertukaran yang benar adalah sebagai berikut :
Algoritma  Tukar Isi Bejana
Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
DESKRIPSI :
  1. Tuangkan larutan dari bejana A ke dalam bejana C.
  2. Tuangkan larutan dari bejana B ke dalam bejana A.
  3. Tuangkan larutan dari bejana C ke dalam bejana B.
Ciri Penting Algoritma
  • Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas.
  • Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas).
  • Algoritma memiliki nol atau lebih masukkan.
  • Algoritma memiliki nol atau lebih keluaran.
  • Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal).
BACKPROPAGATION
 
 
 
Jaringan Saraf Tiruan(JST) atau Artificial Neural Network merupakan salah satu cabang dari AI(Artificial Intelligence). JST terlah dikembangkan sejak tahun 1940. Pada tahun 1943 McCulluch dan W.H.Pitts memperkenalkan pemodelan matematis neuron. Tahun 1949, Hebb mencoba mengkaji proses belajar yang dilakukan oleh neuron. Teori ini dikenal sebagai Hebbian Law. Tahun 1958, Rosenblatt memperkenalkan konsep perseptron suatu jaringan yang terdiri dari beberapa lapisan yang saling berhubungan melalui umpan maju(feed forward). Konsep ini dimaksudkan untuk memberikan ilustrasi tentang dasar-dasar intelejensia secara umum. Hasil kerja Rosenblatt yang sangat penting adalah  perceptron convergence theorem (tahun 1962) yang membuktikan bahwa bila setiap perseptron dapat memilah-milah dua buah pola yang berbeda maka siklus pelatihannya dapat dilakukan dalam jumlah yang terbatas.
I.          Pengertian Backpropagation
Pengertian Backpropagation merupakan sebuah metode sistematik pada jaringan saraf tiruan dengan menggunakan algoritma pembelajaran yang terawasi dan biasanya digunakan oleh perceptron dengan banyak layar lapisan untuk mengubah bobot-bobot yang ada pada lapisan tersembunyinya. Backpropagation adalah pelatihan jenis terkontrol dimana menggunakan pola penyesuaian bobot untuk mencapai nilai kesalahan yang minimum antara keluaran hasil prediksi dengan keluaran yang nyata. (F.Suhandi, 2009)
II.         Metode Backpropagation
Perambatan galat mundur (Backpropagation) adalah sebuah metode sistematik untuk pelatihan multiplayer jaringan saraf tiruan. Metode ini memiliki dasar matematis yang kuat, obyektif dan algoritma ini mendapatkan bentuk persamaan dan nilai koefisien dalam formula dengan meminimalkan jumlah kuadrat galat error melalui model yang dikembangkan (training set).
1.      Dimulai dengan lapisan masukan, hitung keluaran dari setiap elemen pemroses melalui lapisan luar.
2.      Hitung kesalahan pada lapisan luar yang merupakan selisih antara data aktual dan target.
3.      Transformasikan kesalahan tersebut pada kesalahan yang sesuai di sisi masukan elemen pemroses.
4.      Propagasi balik kesalahan-kesalahan ini pada keluaran setiap elemen pemroses ke kesalahan yang terdapat pada masukan. Ulangi proses ini sampai masukan tercapai.
5.      Ubah seluruh bobot dengan menggunakan kesalahan pada sisi masukan elemen dan luaran elemen pemroses yang terhubung.
DATABASE


Pangkalan data atau basis data (bahasa inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.
  1. Database adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik untuk memperoleh informasi dari basis data tersebut.
  2. Database adalah representasi kumpulan fakta yang saling berhubungan disimpan secara bersama, untuk memenuhi berbagai kebutuhan.
  3. Database merupakan sekumpulan informasi yang saling berkaitan pada suatu subjek tertentu untuk tujuan tertentu pula.
  4. Database adalah susunan record data operasional lengkap dari suatu organisasi atau perusahaan, yang diorganisir dan disimpan secara terintegrasi dengan menggunakan metode tertentu sehingga mampu memenuhi informasi yang optimal yang dibutuhkan olehpara pengguna.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.
Create, Alter dan Drop Database


SQL (Structured Query Language) merupakan suatu bahasa yang digunakan untuk mengakses database. Hampir semua software database mengerti bahasa SQL. Oleh karenanya perintah SQL antara software database yang satu dengan lainnya kurang lebih hampir sama.

Jenis-jenis perintah dalam SQl itu sendiri dibagi menjadi tiga:
  • DDL (Data Definition Language)
  • DML (Data Manipulation Language)
  • DCL (Data Control Language)
DDL (Data Denifition Language) merupakan jenis perintah SQL yang berhubungan
dengan pendefinisian objek dalam suatu database atau database itu sendiri. Terdapat 3 perintah dasar dalam statement DDL ini, yaitu CREATE, ALTER, dan DROP.

DML (Data Manipulation Language) merupakan jenis perintah SQL yang berhubungan dengan manipulasi data dan record pada suatu database. Perintah dasar dalam DML antara lain SELECT, INSERT, UPDATE, DELETE, dan lain sebagainya.

DCL (Data Control Language) merupakan jenis perintah SQL yang berhubungan dengan keamanan atau security suatu database. Contoh perintah dasar DCL adalah GRANT dan REVOKE.

Dari sekian banyak pilihan software database, salah satu yang sering menjadi andalan para webmaster adalah MySQL. Karena selain freeware, MySQL juga cocok digunakan untuk orang yang baru belajar dunia per-database-an seperti saya.

Jenis perintah MySQL pun dibagi menjadi tiga, yaitu DDL, DML, DCL. Kita akan bahas satu-persatu mulai dari DDL. Salah satu statement DDL yang sudah pasti digunakan adalah CREATE, ALTER, dan DROP DATABASE.
CREATE DATABASE
Bentuk Umum CREATE DATABASE:

Algoritma Dan Pemrograman

Algoritma Dan Pemrograman


A.    Pengertian Algoritma & Pemrograman
  1.      Algoritma
Asal  usul  kata  algoritma  dapat  Anda  baca  dalam  buku  “The  Art  of  Computer Programming Second Edition Volume I” yang ditulis oleh Donald E. Knuth (1973, p1- )
Menurut  Donald  E.  Knuth  (1973,p4),  algoritma  dalam  penger tian  modern mempunyai kemiripan dengan istilah resep ,  proses, metode, teknik, prosedur, rutin . Algor itma  adalah  sekumpulan  aturan-aturan  berhingga  yang  memberikan  sederetan operasi-operasi untuk menyelesaikan suatu jenis masalah yang khusus. Menurut  Rinaldi  Munir,  algoritma  adalah  urutan  langkah-langkah  logis penyelesaian masalah yang disusun secara sistematis. Berdasarkan dua pengertian algoritma di atas, dapat disimpulkan bahwa algor itma merupakan suatu istilah yang luas, yang tidak hanya berkaitan dengan dunia komputer.
 2.      Pemrograman
Pemrograman berasal dar i kata  program  yang diberi awalan pe– dan akhiran –an. Dalam buku ini, program berarti progr am komputer. Pengertian   program   computer menurut John M. Zelle,  Ph.D.  dalam bukunya  yang  berjudul “Python  Programming: An  Introduction to  Computer  Science”  (2002,  p1)  adalah  sekumpulan  instruksi langkah per langkah yang member itahukan mengenai yang harus dilakukan computer secara  tepat.  Pemrograman   adalah  segala  kegiatan  pembuatan  program  computer.
Kemudian  terdapat  pula  istilah   bahasa  pemrograman   yang  berarti  bahasa  yang digunakan dalam pembuatan program komputer. Berdasarkan  pengertian  algor itma  dan  pemrograman,  maka  dapat  dikatakan bahwa  progr am  merupakan  hasil  penerapan  dari  algoritma- algoritma.  Akan  tetapi, dalam  buku  ini  tidak dibahas  materi  mengenai  pembuatan  program  komputer.  Buku ini  memfokuskan teknik-teknik pembuatan  algoritma  itu  sendir i.  Nama  mata  kuliah Algor itma dan Pemrogr aman dalam hal ini berarti mempelajari pembuatan algoritma- algoritma yang dapat diterapkan dalam pemrograman.

B.     Tipe-tipe Algoritma Berdasarkan Format Penulisan
Algoritma  adalah  independen  terhadap  bahasa  pemr ograman  tertentu,  artinya algoritma  yang  telah  dibuat  tidak  boleh  hanya  dapat  diterapkan  pada  bahasa pemrograman  tertentu.  Penulisan  algoritma  tidak  ter ikat  pada  suatu  aturan  tertentu, tetapi harus jelas maksudnya untuk tiap langkah algoritmanya. Namun pada dasar nya algoritma dibagi menjadi beberapa macam berdasarkan for mat penulisannya, yaitu:
 1.      Deskriptif
Algoritma  bertipe  deskr iptif  maksudnya  adalah  algoritma  yang  ditulis  dalam bahasa manusia sehari- hari (misalnya bahasa Indonesia atau bahasa Inggris) dan dalam bentuk  kalimat.  Setiap  langkah  algoritmanya  diterangkan  dalam  satu  atau  beberapa kalimat.
Sebagai contoh misalnya algoritma menentukan bilangan terbesar dari 3 bilangan berikut ini:
Algoritma Menentukan_bilangan_terbesar_dari_3_bilangan
§  Meminta input 3 bilangan dari user, misalkan bilangan a, b, dan c.
§  Apabila  bilangan  a  lebih besar  dari  b  maupun  c,  maka  bilangan  a merupakan bilangan terbesar.
§  Jika  tidak  (bilangan  a tidak  lebih  besar  dari  b  atau  c)  berarti bilangan  a  sudah  pasti  bukan  bilangan  terbesar.  Kemungkinannya tinggal  bilangan  b  atau  c.  Apabila  bilangan  b  lebih  besar  dari  c, maka  b  merupakan  bilangan  terbesar.  Sebaliknya  apabila  bilangan  b tidak lebih besar dari c, maka bilangan c merupakan yang terbesar.
§  Selesai.
2.      Flow Chart (Diagram Alir)
Selain dalam bentuk tulisan, algoritma juga dapat ditulis dalam  bentuk diagram- diagram dengan anak panah sebagai penunjuk urutan langkah algoritmanya. Algor itma yang ditulis dengan simbol-simbol demikian yang dinamakan  flow chart .
Mengenai  lambang- lambang  yang  digunakan  akan  dibahas  pada  bagian selanjutnya. Sekarang diberikan suatu contoh algoritma menentukan bilangan terbesar dar i 3 bilangan seperti yang dicontohkan sebelumnya, tetapi ditulis dalam bentuk flow chart.

 3.      Pseudocode
Pseudo  berarti imitasi dan  code  ber arti kode yang dihubungkan dengan instruksi yang  ditulis  dalam  bahasa  komputer  (kode  bahasa  pemrograman).  Apabila diterjemahkan  secar a  bebas,  maka  pseudocode  berarti  tiruan  atau  imitasi  dari  kode bahasa pemrograman. Pada  dasarnya,  pseudocode  merupakan  suatu  bahasa  yang  memungkinkan programmer untuk berpikir terhadap per masalahan yang harus dipecahkan tanpa harus memikirkan   syntax   dar i  bahasa  pemrogr aman  yang  tertentu.  Tidak  ada  aturan penulisan   syntax   di  dalam  pseudocode.  Jadi  pseudocode  digunakan  untuk menggambarkan logika urut-urutan dari program tanpa memandang bagaimana bahasa pemrogramannya.
Walaupun pseudocode tidak ada aturan penulisan syntax, di dalam buku ini akan diberikan  suatu aturan-aturan  penulisan syntax yang cukup  seder hana  agar  pembaca dapat  lebih  mudah  dalam  mempelajari algoritma-algor itma  yang  ada  di  dalam  buku ini.  Pseudocode  yang  ditulis  di  dalam  buku  ini  akan  menyerupai  (meniru)  syntax- syntax dalam bahasa Pascal. Namun dibuat sesederhana mungkin sehingga tidak akan ada  kesulitan  bagi  pembaca  untuk  memahami  algoritma- algor itma  dalam  buku  ini walaupun pembaca belum pernah mempelajar i bahasa Pascal.