Rabu, 07 September 2016

Pengertian OSI layer

*Gambar tingkatan OSI layer*    
 
               -OSI layer adalah : OSI layer kepanjangan dari (Open System Interconection) membantu seorang desainer memahami tiap-tiap layer yang berhubungan dengan aliran komonikasi data, atau bisa di sebut juga dengan pemrosesan data dari pembuatan, pengecekan, dan lain lain sampai pada proses akhir yaitu pengiriman data.
            -Sejarah OSI layer: dahulu pada era -70an banyak perusahaan software yang membuat system network Architekture (SNA), yang antara lain IBM, Digital, Sperry, burough dan sebagainya,masing masing perusahaan tersebut membuat aturan aturan yang antara satu sama lain berbeda, misalkan IBM megembangkan SNA produk digital tentunya tidak bisa hal ini di sebabkan protokolnya tidak sama. analoginya, misalkan anda berbicara dengan bahasa jawa tentunya akan di mengerti juga oleh orang lain yang berbahasa jawa, masalah ini bisa di selesaikan jika anda berbicara menggunakan bahasa standar yang tentunya bisa di mengerti lawan bicara anda. 
sebelum munculnya model refenisi OSI, sisitem jaringan komputer sangat berpengaruh kepada pemasok (vender). OSI berupaya membentuk standar umum jaringan komputer untuk menunjang interpetabilitas antara pemasok yang berbeda.tadak adaanya suatu protokol yang sama membuat banyak perangkat tidak bisa saling berkomunikasi.
masalah utama dalam komunikasi antar komputer dari vendor yang berbeda adalah karna mereka menggunakan protocol dan format data yang berbeda beda menghadapi kenyataan ini, kemudian the internet standat organisasion pada sekitar tahun 1980 an meluncurkan sebuah standar model revenisi yang erisi cara kerja serangkaian protokol SNA. model revinisi ini selanjutnya dinamakan open systeeminterconection (OSI). model Revinisi OSI terdiri dari 7 buah bagian / layer yang masing masing layer mempunyai tugas sendiri. di karnakan OSI terdiri dari 7 macam layer, maka model refinensi OSI seringkali di sebut OSI 7layer.
 OSI layer mempunyai 7 lapisan di setiap lapisan mempunyai kegunann dan fungsi masing-masing di bawah ini akan saya terangkan tentang 7 lapisan yang ada pada OSI layer : 
7. APLICATION layer ( lapisan aplikasi ) 
 -Aplication layer adalah lapisan paling atas, lapisan yang ada di bawah nya bekerja untuk lapisan ini.
lapisan ini fungsinya untuk menyediakan jasa untuk penggunannya.lapisan ini juga sebagai antarmuka dengan pengguna dan lapisan ini pula yang bertanggung jawab atas pertukaran informasi antar komputer.
    *aplikasi yang bekerja di dalam application layer contohnya:
  • Web Browser, contoh nya : mozilla firefox dan internet explorer.
  • E-mail Client contoh : Out Look Express, Outlook Web Access, Mozilla thunderbird, Fox mail dll.
  • Software FTP, Contoh : file Zilla
contoh aplication layer : Gatewaye
protocols yang bekerja:
*DHCP (DYNAMIC HOST CONFIGURATION PROTOCOL) gunannya : untuk distribusi IP pada jumlah IP yang terbatas.
*DNS ( DOMAIN NAME SERVER) gunannya : data bese nama domain mesin dan nomor IP
*FTP ( FILE TRANSFER PROTOCOL) gunannya : untuk transfer file
*HTTP (HAYPER TEXT TRANSFER PROTOCOL) gunannya : yntuk transfer file HTML dan WEB
*MIME ( MULTIPURPUPOSE INTERNET PROTOCOL) gunannya : untuk mengirim file bineriy dalam bentuk text
*NNTP ( NETWORK NEWS TRANSFER PROTOCOL) guannya : menerima dan mengirim news group
*POP (POST OFFICE PROTOCOL) gunanya : untuk mengambil mail dari server
*SMB (SERVER MESAGGE BLOCK) gunanya : untuk transfer berbagai file dari server dos dan windows

beberapa fungsi dari presentation layer :
-interface antara jaringan dan s/w aplikasi

6. PRESENTATION layer ( lapisan presentasi ) 
 -Presentation layer adalah lapisan ke enam dari tujuh lapisan yang fungsinya untuk bertanggung jawab di mana data di cek dan di format sebelum data di kirim dan sampai ke aplication layer.
   *aplikasi yang bekerja di dalam presentation layer:
  • PICT,TIFF,JPEG merupakan format data untuk aplikasi berupa gambar (image)
  • MIDI, MPEG,dan quicktime merupakan format data untuk aplikasi sound & movie.
  • ASCII merupakan format data untuk informasi dalam bentuk texs.
contoh dari presntation layer : gateway

protocolsyang bekerja :
*SMPTP (SIMPEL MAIL TARNSFER PROTOCOL) gunannya : untuk pertukaran mail
*SNMP ( SIMPEL NETWORK MANEGEMENT PROTOCOL) gunanya : untuk menejeen jaringan.
*TELNET protocol yang di gunakan untuk akses remote masuk ke suatu host data berjalan berupa text.
*TFTP (Trivial FTP) protokol untuk transfer file

beberapa fungsi dari presentaion layer:
-bagaimana data di presentasikan
-type data, enkripsi, visual image, dll

5. SEESION layer ( lapisan sesi) 
-seesion layer berfungsi untuk menetapkan, mengatur dan menghentikan sesi pengiriman data, session layer juga berguna untuk melayani presentation layer (lapisan ke 6)
   *aplikasi yang ada pada session layer :
  • RPC (Remote Procedur Cell) protocol yang menyediakan mekanisme client / server pada sistem opersi windows NT
  • NFS (Network File System) di bangun oleh sun microsistem dan di gunakan oleh workstation TCP/IP dan unix agar dapat mengakses remot resource.
  • OS dan penjadwalan suatu aplikasi
protocols yang bekerja :
*NetBIOS (Network Besic Input Otput System) BIOS jaringan standar
*Names Pipes
*Mail Slots
*RPC ( Remote Procedur Call ) prosedur pemanggilan jarak jauh.
*SOCKET, Input Output untuk network jenis BSD-UNIX

beberapa fungsi dari seesion layer :
-mempertaankan data dari berbagaia aplikasi yang di gunakn


4. TRANSPORT layer (lapisan transpor) 
 -tarnsport lapisan berguna untuk memecah data menjadi paket-paket data serta memberikan nomer urut ke paket paket data agar pada saat data di teriama data dapat di susun kembali.
     *aplikasi yang bekerja pada transport layer :
             -aplikasi nya berupa penghantar suatu data atau untuk mengirim sebuah file.
  •  suatu aplikasi yang gunanya untuk mengirim dan menerima data atau membagi data tersebut ke beberapa bagian
  • SPXLayer transport
contoh TRansport layer :  cabel tester : alat untuk memeriksa kesempurnaan pemasangan kabel konektor LAN (RJ45) agar untuk mengetahui kabel yang kita buat sudah benar atau belom. brouter : perangkat jaringan yang berfungsi baik sebagai jembatan atau router.

*TCP (Transmision Control Protocol) untuk pertukaran data berorientasi
*UDP (User Datagaram Protocol) protocol conectionless dan proses-to-proses yang hanya menaambahakan  alamat port, cheksum eror control dan panjang informasi data pada layar dia atas

ada beberapa fungsi transport layer:
-reliabel dan unreliabel delivery
-multiplexing

3. NETWORK layer ( lapisan jaringan)
 -network layer berguna untuk menentukan alamat IP atau alamat perjalanann dan juga menentukan rute perjalanan data hingga data sampai ke tujuan akhir yaitu pemrosesan dalam hal ini data berbentuk paket.
      *aplikasi yang bekerja pada network layer:
  • DPP (Delivery Datagram Protocol) merupakan protokol transport yang bisa di gunakan oleh    jaringan komputer apple
  • IPX (Internet Packet Exchange) dan NWlink merupakan protokol yang di sediakan oleh sistem operasi netware yang di sebut oleh novell, di gunakan untuk routing paket.
contoh dari network layer : B-router adalah sebuah alat yang mengirimkan paket data melalui sebuah jaringan atau internet menuju tujuannya melalui sebuah proses yang di kenal sebagai penghalaan.

protocols yang bekerja :
*IP ( INTERNET PROTOCOL) gunanya : menetapan rauting
*RIP ( RAUTING INFORMAtION PROTOCOL) gunanya : memeilih rauting untuk mendapatkan informasi hard ware nomor IP
*RARP ( REVERSE ARP) gunanya untuk menetapkan informasi nomer IP dari hard ware.
*ICMP (Internet Control Message Protocol) mekanisme yang di gunakan oleh sejmlah host untuk mengirim nontifikasi data gram yang mengalami masalah pada host nya.
*IGMP ( Internet Group Message Protocol) yang di gunakan untuk memberi faslitas message yang simulation kepada group penerima.
*(ARP) (Adress Resolution Protocol ) di gunakan untuk mengetahi alamat IPberdasarkan alamat fisik dari sebuah komputer.

ada beberapa fungsi network :
-logical addressing
-mengirimkan alamat network

2. DATA LINK layer ( lapisan koneksi data)
 -data link layer berguna untuk memnentukan bagaimana bit-bit data di kelompokan menjadi format yang di sebut sebagai frame. pada lapisan ini apabila bit-bit ingin di bungkus dan ingin di kirim harus melalui media WAN protocol architectur atau harus melalui LAN architectur. selain itu di level ini juga terjadi koreksi kesalhan data.
       *aplikasi yang bekerja pada data link layer:
  • LLC (Logikal Link Control) mendefinisaikan protocol network layer dan kemudian melakukan enkapsulasi protokol-protokol taransport.
  • MAC (Media Acces Control) mendifinisakan bagaimana packet di tempatkan pada sebuah media dalam sublayer ini sistem pengalamatan hardware di defenisikan.
contoh dari data link layer : NIC / LAN Card, bridge adalah sebuah komponen jaringan yang di gunakan untuk memperluas jaringan atau membuat sebuah segment jaringan. dan switch adalah sebuah alat jaringan yang melakukan penjembatan tak tampak ( penghubug penyekatan (segmentation) banyak jaringan dengan pengalihan berdasarkan alamat MAC.
protocols
*PPP ( POINT TO POINT PROTOCOL) gunanya untuk point to poin suatu data.
*SLIP (Serial Line Internet Protocol) di gunakan untuk menyabung serial.

ada beberapa fungsi data link:
-mengkomunikaskan bit ke bytes dan byte ke frame
-menerima perangkat media berupa MAC addressing
-deteksi error dan recovery error
1.  PHYSICAL layer (lapisan fisik ) 
 -physical layer adalah lapisan paling bawah pada OSI, berfungsi untuk mendefenisikan media transmisi jaringan. atau bisa di sebut juga dengan penulisan data pertama kali apabila data ingin di proses.
        *apliasi yang bekerja pada physical layer
  • ISDN (Integrated Services Digital Network) suatu sistem telkomonikasi di mana layanan antara data, suara, dan gambar di integrasi ke dalam suatu jaringan yang menyediakan konektivitas digital ujung ke ujung untuk menunjukan suatu ruang lingkup pelayanan yang lues.
  • FDDI (Fiber Distributed Data Interface) sustu standar komunikasi data menggunakan fiber optic pada LAN dengan panjang sampai 200 km
  • EIA/TIA-232, V35, Layer Physical
contoh dari Physical layer adalah HUB : sebuah alat yang di gunakan dalam jaringan LAN yang bekerja di OSI pada layer physicla layer. dan repeater : adalah sebuah setasiun untuk menerima sinyal yang masuk dan mengirimkan kembali pada frekuansi yang berbeda.
 FDDI terdiri dari dua token ring yang satu ring nya berfungsi sebaai ring backup jika seandainya ada ring dari dua ring tersebut yang putus atau mengaalami kegagalan dalam bekerja.

protocols
*10baseT
*100baseT
*RS232

ada beberapa fungsi dari physical layer:
-memindahkan bit antar devices
-spesifikasinya berupa voltase, wire, speed, pin pada kabel

*keuntungan menggunakan OSI layer :
1. memecahkan operasional sistem jaringan yang kompleks agar mudah di pelihara.
2. perubahan setiap lapisan tidak mengubah lapisan yang lain. ini memudahkan produsen berkonsentrasi pada lapisan tertentu saja.
3. memudahkan pengembangan perangkat keras "plug and play" ( istilah tekhnologi informasi yang mengacu kepada fitur di komputer yang memperboleh kan suatu perangkat di tambahkan ke sistem komputer tanpa harus menginstal ulang divice driver secara manual.)
4. membagi tugas tugas di setiap layer nya.
5 dapat di jadikan bahan pertimbangan trobleshooting ( merupakn pencarian sumber masalah sehingga masalah dapat di selesaikan )

*kerugian menggunakan OSI layer :
1.lapisan OSI bersifat teoritis dan tidak benar benar bekerja pada fungsi yang sebenarnya.
2. implumentasi  dalam dunia industri jarang memiliki hubungan yang sama persis dengan lapisan pada osi layer.
3. protokol yang berbeda dalam stack melakukan fungsi yang berbeda yang membantu mengirim atau menerima pesan keseluruhan.
4. perubahan satu protocol tidak bersifat menyeluruh ke semua bagian.

kesimpulan OSI layer adalah intinya agar setiap peralatan bisa berkomonikasi dengan lainnya maka di butuhkan sistem OSI layer untuk membantu proses jalannya jarinagn dan alat komputer.

cara kerja ISO layer menurut yang saya ketahui :
-pertama router mengirim frame melalui jaringnan yang berbeda dengan protokol data link yang berbeda, hanya data link layar dan lapisan fisik yang memerlukan modifikasi.
-router menghapus semua informasi data link dan mengirimkannya ke lapisan jaringan.
-router menggunakan alamat tujuan IP untuk menentukan di mana untuk mengirim pada berikutnya
-router yang menggunakan data dengan informasi data link populer untuk wan atm
-ATM WAN menuju ke ethernen LAN
-kehilangan paket karena router adalah transportasi lapisan padat mengirimkan menunggu pengakuan penerima lapisan transport terbatas dan mentransmisikan kembali data.
-router untuk menghapus informasi dan mengirim link ke lapisan jaringan paket
-lagi router adalah alamat IP dari lapisan jaringan untuk. menentukan di mana untuk mengirim paket berikutnya.
-setelah menentukan tahap berikutya dan menambahkan informasi data link yang tepat untuk mengirimkan pada jaringan ( pada jaringan ethernet lagi)
-beberapa protokol data link layer menyediakan komunikasi yang handal antara dua node. dalam contoh ini lapisan data link ethernet di lakukan ketika lapisan pengirim tidak menerima nya pengakuan dari lapisan menerimanya dan mengirim ulang frame.
-setiap lapisan model sekarang menghilangkan lapisan enkapsulasi dan membaca informasi tentang cara menambahkan lapisan yang sama pada pengirim
-membaca bit dari media fisik, dan menguahnya menjadi frame dan mengirimkan frmae ke data link.
-menghapus header data data link frame dan di konfesi kembali ke paket IP
-menghapus header IP mengubah paket kembali ke segmen dan menekan kembali ke lapisan transport.
-menyerupai segment kembali ke data asli mengunakan nomer port untuk menentukanaplikasi untuk mengirim data ke email.
-menggunakan informasi sesi untuk menentukan aliran komunikasi data ini
menggunakan informasi yang di berikan oleh lpisan presentasi untuk dapat menginter pretasikan data untuk mesin tertentu.
-aplikasi membaca perintah SMTP bahwa lapisan aplikasi pada pengirim telah di kirim.
-seerti yang di sebutkan sebeumnya model osi lebih dari model teoritis, internet menggunakan protokol TCP/IP bukan stok OSI

PENGENALAN VARIABEL DAN TIPE DATA

Facebook Facebook Google+ RSS Twitter PENGENALAN VARIABEL DAN TIPE DATA


Pengertian Variabel, Konstanta dan Tipe Data
img by http://www.iconfinder.com/
Sebelum memasuki Bahasa pemograman kita harus mengenal, mengetahui dan harus diingat tiga hal. Variabel, Konstanta dan Tipe data tiga hal ini selalu berhubungan dengan bahasa pemograman.

Variabel

Variabel adalah tempat dimana kita dapat mengisi atau mengosongkan nilainya dan memanggil kembali apabila dibutuhkan. Setiap variabel akan mempunyai nama (identifier) dan nilai.
Contoh Nama variabel dan nilai. username = “joni”
Nama = “Al-Khawarizmi”
Harga = 2500
HargaTotal = 34000
username, Nama, harga dan HargaTotal adalah nama dari variabel, sedangkan “joni”, “Al-Khawarizmi”, 2500 dan 34000 adalah nilai dari masing-masing variabel. Nilai-nilai ini akan tersimpan di dalam nama variabel masing-masing sepanjang tidak kita rubah.
Pada sebagian besar bahasa pemrograman, variabel harus dideklarasikan lebih dulu untuk mempermudah compiler bekerja. Apabila variabel tidak dideklarasikan maka setiap kali compiler bertemu dengan variabel baru pada kode program akan terjadi waktu tunda karena compiler harus membuat variabel baru. Hal ini memperlambat proses kerja compiler. Bahkan pada beberapa bahasa pemrograman, compiler akan menolak untuk melanjutkan proses kompilasi.
Pemberian nama variabel harus mengikuti aturan yang ditetapkan oleh bahasa pemrograman yang kita gunakan. Namun secara umum ada aturan yang berlaku untuk hampir semua bahasa pemrograman. Aturan-aturan tersebut yaitu:
  • Nama variabel harus diawali dengan huruf.
  • Tidak boleh menggunakan spasi pada satu nama variabel. Spasi bisa diganti dengan karakter underscore (_).
  • Nama variabel tidak boleh mengandung karakter-karakter khusus, seperti : .,+, -, *, /, <, >, &, (, ) dan lain-lain.
  • Nama variabel tidak boleh menggunakan kata-kata kunci d bahasa pemrograman
Penanaman Yang Benar Penanaman Yang Salah
namasiswa nama siswa (salah karena menggunakan spasi)
XY12 12X (salah karena dimulai dengan angka)
harga_total harga.total (salah karena menggunakan karakter .)
JenisMotor Jenis Motor (salah karena menggunakan spasi)
alamatrumah for (salah karena menggunakan kata kunci bahasa pemrograman)

KONSTANTA

Konstanta adalah variabel yang nilai datanya bersifat tetap dan tidak bisa diubah. Jadi konstanta adalah juga variabel bedanya adalah pada nilai yang disimpannya. Jika nilai datanya sepanjang program berjalan tidak berubahubah, maka sebuah varibel lebih baik diperlakukan sebagai konstanta. Pada sebuah kode program, biasanya nilai data dari konstanta diberikan langsung di bagian deklarasi konstanta. Sedangkan untuk variabel biasanya hanya ditentukan nama variabel dan tipe datanya tanpa isian nilai data. Aturan penamaan variabel juga berlaku untuk penamaan konstanta. Demikian juga aturan penetapan tipe data. konstanta dibagi menjadi 4:
  • Konstanta integer, berupa integer biasa, integer panjang (long int) dan integer tak bertanda (unsigned integer). Nilainya dapat berupa desimal, oktal atau hexadesimal.
  • Konstanta floating point, dapat mengandung nilai pecahan, yang biasa ditulis dalam bentuk pecahan biasa maupun bentuk eksponensial dan selalu dinyatakan dalam double, kecuali jika diakhiri dengan F atau f (menyatakan konstanta float).
  • Konstanta string, merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik ganda (“…“). Juga dapat mengandung karakter yang menggunakan tanda \ yang disebut karakter escape (escape sequence).
  • Konstanta karakter, selalu diawali dan diakhiri dengan tanda petik tunggal (‘…’). Beberapa konstanta karakter dapat diawali dengan tanda \ (penempatannya setelah tanda petik tunggal).
Sebagai contoh, jika kita membuat program perhitungan matematik yang menggunakan nilai pi (3.14159) yang mungkin akan muncul dibanyak tempat pada kode program, kita dapat membuat pi sebagai konstanta. Penggunaan konstanta pi akan lebih memudahkan penulisan kode program dibanding harus mengetikkan nilai 3.14159 berulang-ulang.

Tipe Data

Tipe data adalah jenis data yang dapat diolah oleh komputer untuk memenuhi kebutuhan dalam pemrograman komputer. Setiap variabel atau konstanta yang ada dalam kode program, sebaiknya kita tentukan dengan pasti tipe datanya. Ketepatan pemilihan tipe data pada variabel atau konstanta akan sangat menentukan pemakaian sumberdaya komputer (terutama memori komputer). Salah satu tugas penting seorang programmer adalah memilih tipe data yang sesuai untuk menghasilkan program yang efisien dan berkinerja tinggi. Tipe Data dikelompokkan menjadi dua Yaitu primitive dan composite

Tipe Data Primitive :
  • Numeric
  • Character
  • Boolean
Tipe Data Composite :

  • Array
  • Record
  • Image
  • Date Time
  • Lainya (Subrange, Enumerasi, dll)
Tipe data primitive adalah tipe data dasar yang tersedia secara langsung pada suatu bahasa pemrograman. Sedangkan tipe data composite adalah tipe data bentukan yang terdiri dari dua atau lebih tipe data primitive.
Tipe data numeric digunakan pada variabel atau konstanta untuk menyimpan nilai dalam bentuk bilangan atau angka. Semua bahasa pemrograman menyediakan tipe data numeric, hanya berbeda dalam jenis numeric yang diakomodasi.

Jenis yang termasuk dalam tipe data numeric antara lain integer (bilangan bulat), dan float (bilangan pecahan). Selain jenis, dalam bahasa pemrograman juga diterapkan presisi angka yang digunakan, misalnya tipe data Single adalah tipe data untuk bilangan pecahan dengan presisi yang terbatas, sedangkan tipe data Double adalah tipe data untuk bilangan pecahan dengan presisi yang lebih akurat.
Tipe data Character. Bersama dengan tipe data numeric, character merupakan tipe data yang paling banyak digunakan. Tipe data character kadang disebut sebagai char atau string. Tipe data string hanya dapat digunakan menyimpan teks atau apapun sepanjang berada dalam tanda petik dua (“…”) atau petik tunggal (‘…’).
Tipe data Boolean digunakan untuk menyimpan nilai True/False (Benar/Salah). Pada sebagian besar bahasa pemrograman nilai selain 0 menunjukkan True dan 0 melambangkan False. Tipe data ini banyak digunakan untuk pengambilan keputusan pada struktur percabangan dengan IF … THEN atau IF … THEN … ELSE.
Array atau sering disebut sebagai larik adalah tipe data yang sudah terstruktur dengan baik, meskipun masih sederhana. Array mampu menyimpan sejumlah data dengan tipe yang sama (homogen) dalam sebuah variabel. Setiap lokasi data array diberi nomor indeks yang berfungsi sebagai alamat dari data tersebut..
Record atau Struct adalah termasuk tipe data komposit. Record dikenal dalam bahasa Pascal/Delphi sedangkan Struct dikenal dalam bahasa C++.
Berbeda dengan array, tipe data record mampu menampung banyak data dengan tipe data berbeda-beda (heterogen). . Sebagai ilustrasi array mampu menampung banyak data namun dengan satu tipe data yang sama, misalnya integer saja. Sedangkan dalam record, kita bisa menggunakan untuk menampung banyak data dengan tipe data yang berbeda, satu bagian integer, satu bagian lagi character, dan bagian lainnya Boolean.
Biasanya record digunakan untuk menampung data suatu obyek. Misalnya, siswa memiliki nama, alamat, usia, tempat lahir, dan tanggal lahir. Nama akan akan menggunakan tipe data string, alamat bertipe data string, usia bertipe data single (numeric), tempat lahir bertipe data string dan tanggal lahir bertipe data date.
Image atau gambar atau citra merupakan tipe data grafik. Misalnya grafik perkembangan jumlah siswa SMK, foto keluarga kita, video perjalanan dan lain-lain. Pada bahasa-bahasa pemrograman modern terutama yang berbasis visual tipe data ini telah didukung dengan sangat baik.
Date and Time Nilai data untuk tanggal (Date) dan waktu (Time) secara internal disimpan dalam format yang spesifik. Variabel atau konstanta yang dideklarasikan dengan tipe data Date dapat digunakan untuk menyimpan baik tanggal maupun jam. Tipe data ini masuk dalam kelompok tipe data composite karena merupakan bentukan dari beberapa tipe data.
Tipe data subrange merupakan tipe data bilangan yang mempunyai jangkauan nilai tertentu sesuai dengan yang ditetapkan programmer. Biasanya tipe data ini mempunyai nilai batas minimum dan nilai batas maksimum. Tipe data ini didukung dengan sangat baik dalam Delphi.
Tipe data Enumerasi merupakan tipe data yang mempunyai elemen-elemen yang harus disebut satu persatu dan bernilai konstanta integer sesuai dengan urutannya. Nilai konstanta integer elemen ini diwakili oleh suatu nama variable yang ditulis di dalam kurung. Tipe data ini juga dijumpai pada Delphi dan bahasa pemrograman deklaratif seperti SQL.
Tipe data object digunakan untuk menyimpan nilai yang berhubungan dengan obyek-obyek yang disediakan oleh Visual Basic, Delphi dan dan bahasa pemrograman lain yang berbasis GUI. Sebagai contoh, apabila kita mempunyai form yang memiliki control Command button yang kita beri nama Command1.
Tipe data Variant hanya ada di Visual Basic. Tipe ini adalah tipe data yang paling fleksibel di antara tipe data yang lain, karena dapat mengakomodasi semua tipe data yang lain seperti telah dijelaskan.
Trimakasih telah membaca...:

Algoritma


selamat siang... hari ini saya akan membagikan postingan mengenai algoritma. apasih algoritma itu? mari kita bahas..cekidott :D

 

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
contoh lain dari algoritma adalah sebagai berikut