Senin, 30 September 2013

Soal Olimpiade Nasional TIK / Informatika / Komputer

Berikut adalah soal-soal OSN yang mungkin anda butuhkan: (link Mediafire)

Olimpiade Sains Nasional Tingkat Kabupaten (OSK) :
OSK Tahun 2006
OSK Tahun 2007
OSK Tahun 2008
OSK Tahun 2009
OSK Tahun 2010
OSK Tahun 2011
OSK Tahun 2012
OSK Tahun 2013

Olimpiade Sains Nasional Tingkat Provinsi (OSP) :
OSP Tahun 2005
OSP Tahun 2006
OSP Tahun 2011
OSP Tahun 2012

Semoga ini bisa membantu kalian!!


Selasa, 24 September 2013

Cara Menerjemahkan Teks Algoritma ke dalam Bahasa Pemrograman

Seperti yang saya bahas dalam artikel sebelumnya mengenai penggunaan teks algoritma, maka saya akan melanjutkan cerita yang kemarin.

Teman saya sudah mendapatkan teks algoritma swap dari saya, sekarang dia ingin mentranslasi teks algoritma swap ke dalam bahasa pemrograman Pascal nah bigini caranya


Algoritma Swap
{ Algoritma untuk menukarkan nilai dari dua variabel. Algoritma akan menerima 2 buah input, menukarkan nilainya, lalu mencetak hasil dari penukaran tersebut. }
Deklarasi
   {variabel}
   a,b,c : integer
   {saya menggunakan 3 variabel yang bertipe bilangan bulat (integer)}
Deskripsi :
   read(a,b) {meminta input }
   c ← a {proses}
   a ← b
   b ← c
   write(a,b) {menuliskan output }


^^ adalah teks algoritma yang saya berikan,

 Ini adalah Program Pascal Yang sudah di translasi :
Program SWAP;
{ Algoritma untuk menukarkan nilai dari dua variabel. Algoritma akan menerima 2 buah input, menukarkan nilainya, lalu mencetak hasil dari penukaran tersebut. }

{* DEKLARASI*}
var
   a,b,c : integer;

{* DESKRIPSI *}
begin
   readln(a,b); {meminta input}
   c := a;
   a := b;
   b := c;
   writeln(a,b); {menuliskan output}
end.
 Nah begitu caranya mengubah ke Pascal, sekarang ternyata saya juga membutuhkannya karena dasar pemrograman saya adalah C++ maka saya akan menuliskannya dalam bahasa C++.

/* Algoritma Swap */
/* Algoritma untuk menukarkan nilai dari dua variabel. Algoritma akan menerima 2 buah input, menukarkan nilainya, lalu mencetak hasil dari penukaran tersebut. */

#include <iostream>

using namespace std;

int main()
{
/* DEKLARASI */
int a,b,c;

/* DESKRIPSI */
cin >> a;
cin >> b;
c = a;
a = b;
b = c;

cout << a ;
cout << b;
}

Begitulah salah satu cara menerjemahkan Teks algoritma ke dalam bahasa pemrograman,  mungkin kalian cukup bingung dengan tanda ← , Tenang saja nanti akan diajarkan kok, ini saya hanya memberikan gambaran bagaimana cara menerjemahkan teks algoritma. 

Senin, 23 September 2013

Aturan Penulisan Teks Algoritma / Notasi Algoritma

Apa itu Notasi Algoritma?


Seperti yang kita ketahui kalau bahasa pemrograman di dunia ini sangat banyak, nah karena cukup sulit untuk menguasai semuanya, dan juga orang-orang belum tentu menguasai bahasa pemrograman yang sama dengan kita, itulah sebabnya notasi algoritma ini ada, kalau bisa dibilang notasi algoritma ini merupakan sebuah bahasa pemersatu dari berbagai bahasa pemrograman.

Contoh ketika saya menguasai C++ dan mengetahui algoritma swap (algoritma untuk menukarkan dua buah nilai), dan saya ingin menjelaskan algoritma swap kepada teman saya yang menguasai pascal namun tidak mengetahui bahasa C++ kan tidak mungkin saya memberikan contoh kode dengan bahasa C++. Nah menggunakan notasi algoritma adalah salah satu alternatif untuk menjelaskannya.

Aturan Penulisan


Teks algoritma / notasi algoritma disusun oleh tiga bagian (blok) : Bagian kepala (header) algoritma, bagian deklarasi, dan bagian deskripsi algoritma. Nah, disetiap bagian dari setiap blok terdapat komentar yang digunakan untuk memperjelas algoritma. Komentar adalah kalimat atau pernyataan yang berada di kurung kurawal  

contoh :
Algoritma Nama_Algoritma
{ Menuliskan algoritma yang akan anda buat, atau menamai algoritma yang anda buat}
Deklarasi
{ Semua konstanta, variabel, prosedur, fungsi akan anda deklarasikan disini }
Deskripsi
{ semua langkah algoritma di tuliskan disini }

Kita mulai pembahasannya

Kepala Algoritma


Kepala algoritma adalah blok yang terdiri atas nama algoritma.. Nah dibawahnya bisa kalian isi dengan penjelasan tentang algoritma tersebut.

Contoh kepala algoritma :
Algoritma Swap
{ Algoritma untuk menukarkan nilai dari dua variabel. Algoritma akan menerima 2 buah input, menukarkan nilainya, lalu mencetak hasil dari penukaran tersebut. }

Deklarasi


Deklarasi ini akan berisi variabel, konstanta, nama prosedur dan nama fungsi.

Deklarasi :
{variabel}
a,b,c : integer
 {saya menggunakan 3 variabel yang bertipe bilangan bulat (integer)}

Deskripsi

disini akan berisi langkah-langkah penyelesaian masalah,

contoh Deskripsi :

Deksripsi:
read(a,b) {meminta input }
c ← a {proses}
a ← b
b ← c
 write(a,b) {menuliskan output }
nah apabila dijadikan satu akan menjadi sebuah algoritma swap yang sempurna :

Algoritma Swap
{ Algoritma untuk menukarkan nilai dari dua variabel. Algoritma akan menerima 2 buah input, menukarkan nilainya, lalu mencetak hasil dari penukaran tersebut. }
Deklarasi
   {variabel}
   a,b,c : integer
   {saya menggunakan 3 variabel yang bertipe bilangan bulat (integer)}
Deskripsi :
   read(a,b) {meminta input }
   c ← a {proses}
   a ← b
   b ← c
   write(a,b) {menuliskan output }
Selesai.. Selanjutnya saya akan membahas mengenai cara mentranslasinya ke bahasa pemrograman..


  



Minggu, 22 September 2013

Apa itu Algoritma?


Ketika anda akan memasak telur, apa saja yang harus anda lakukan? Pasti yang anda lakukan adalah sebagai berikut :

  1. Nyalakan api kompor.
  2. Tuangkan minyak ke dalam wajan.
  3. Pecahkan telur ayam ke dalam wadah kecil.
  4. Tambahkan garam secukupnya ke dalam wadah.
  5. Aduk campuran telur dan garam.
  6. Tuang adonan telur dalam wajan.
  7. Masak telur hingga matang.

Nah, tata cara seperti itu bisa saya sebut sebuah algoritma,

Lalu, apa yang membedakan antara algoritma dan prosedur? Bukankah memasak sebuah telur merupakan sebuah prosedur?

Sebenarnya, Algoritma itu adalah sebuah prosedur, namun sebuah prosedur belum tentu sebuah algoritma. Kenapa? Karena menurut Donald E. Knuth dalam bukunya yang berjudul The Art of Computer Programming, algoritma harus mempunyai lima ciri penting :

  1. Algoritma harus berhenti, bayangkan ketika anda mengaduk telur tapi tidak berhenti.
  2. Setiap langkah harus didefinisikan dengan tepat dan tidak ambigu atau bermakna ganda.
  3. Algoritma harus memiliki masukan (input). contoh disini telur mentah
  4. Algoritma harus memiliki keluaran (ouput). contoh disini telur dadar
  5. Algoritma harus efektif. Setiap langkah harus sederhana sehingga dapat dikerjakan dalam waktu yang masuk akal.

Berdasarkan penjelasan saya di atas, kita semua bisa menarik sebuah kesimpulan bahwa :


Algoritma adalah : urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis.

Sabtu, 21 September 2013

Posting Pertama Saya

Maid Welcome Image
Hai! Saya Vederis! Ini adalah post pertama saya, di artikel pertama saya ini saya mungkin akan membahas lebih ke tujuan, dan apa saja yang akan saya isi dalam blog ini, ya sehingga ini bisa memberikan informasi kepada anda sekalian tentang blog ini, dan membantu saya juga dalam menulis blog.

Kita mulai dari tujuan, apa tujuan saya dalam membuat blog ini? ya jawabannya simple, hanya sebagai referensi saya di kedepannya nanti, namun kalau ini hanya sebagai referensi, saya rasa sangat disayangkan. Kenapa? Karena selama saya bisa membantu orang lain dengan artikel saya kenapa tidak? sehingga bisa saya katakan kalau blog ini digunakan untuk tutorial.

Apa saja yang akan saya bahas dalam blog ini? saya akan membahas tentang algoritma, dan juga bahasa pemrograman, tidak hanya itu mungkin saya akan memberikan selingan tips dan trik, dan komik strip.

Sekian! Semoga blog ini dapat membantu kalian semua!!



 
Copyright © Inteligence Bird | Theme by BloggerThemes & frostpress | Sponsored by BB Blogging