03 Aug 2013 @ 12:48 
Bismillaah. Alhamdulillaah. Nahmaduhu wa nushalli wa nusallimu 'alaa rasuulihil kariim.

Pada artikel kali ini, penulis akan berbagi tutorial yang berhubungan dengan algoritma dan pemrograman, namun lebih dari sisi teknisnya saja.

Beberapa mahasiswa ketika mendesain program, kadang-kadang dalam sebuah fungsi/fitur programnya membutuhkan data yang diambil secara acak dari sekumpulan data.

Contoh kasus yang sering ditemui terdapat pada web elearning atau LMS (Learning Management System).

Misalnya, bagaimana mengambil satu atau beberapa buah soal dari bank soal secara acak dan unik.

Kadang-kadang fungsi random sudah bisa dikerjakan, namun hasilnya tidak unik, sehingga soal yang sudah dimunculkan masih ada kemungkinan muncul lagi.

Beberap metode yang sering dipakai oleh mahasiswa adalah Fisher-Yates Shuffle (http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle).

Pada dasarnya, solusi dari permasalahan ini juga dapat diselesaikan hanya dengan bermain fungsi random dan array (larik).

Teknis singkatnya dapat dilihat di catatan slideshare berikut.
(http://www.slideshare.net/galihboy/mengambil-data-acak-secara-unik-dari-sekumpulan-data)

Untuk pseudocode-nya insya Allaah menyusul.

More »

Posted By: Galih Hermawan
Last Edit: 03 Aug 2013 @ 13:06

EmailPermalinkComments (1)
Tags
 24 Jun 2009 @ 9:00 

Alhamdulillahi robbil ‘aalamiin. Nahmaduhu wa nusholli wa nusallimu ‘alaa rasulihil kariim.

Bilangan prima termasuk bilangan yang cukup unik, kita sudah mempelajari bilangan ini sejak masuk sekolah dasar.

Beberapa referensi yang penulis dapat menyatakan bahwa bilangan prima merupakan bilangan positif yang hanya bisa dibagi oleh tepat 2 pembagi, yaitu angka 1 dan angka tersebut sendiri. Ada juga yang menyatakan sebagai suatu bilangan yang hanya bisa dibagi oleh dirinya sendiri tanpa menyertakan angka 1.

Contoh: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 dan seterusnya.

Teori selanjutnya silakan baca http://en.wikipedia.org/wiki/Prime_number dan http://mathworld.wolfram.com/PrimeNumber.html.

Dalam logika pemrograman, kita cuma perlu memperhatikan mulai angka 2 dan seterusnya. Angka 0 jelas tidak mungkin, karena bilangan ini dibagi angka berapapun akan menghasilkan angka 0. Dan angka 1 juga kita abaikan saja, sebab angka 1 hanya bisa dibagi oleh dirinya sendiri, padahal bilangan prima itu syarat utamanya bisa dibagi oleh 2 bilangan natural yang nyata, yaitu angka 1 dan dirinya sendiri. (Note: bisa dibagi ini dalam artian menghasilkan bilangan bulat positif, bukan bilangan pecahan.)

Berikutnya akan penulis ilustrasikan contoh pembagiannya, dimana kita sepakati bahwa angka pembagi tidak melibatkan angka 1.

2: hanya bisa dibagi 2.

3: hanya bisa dibagi 3.

4: bisa dibagi 2 dan 4 (lebih dari 1 pembagian, maka tidak termasuk bilangan prima).

5: hanya bisa dibagi 5.

6: bisa dibagi 2,3, dan 6 (bukan bilangan prima).

Dan seterusnya.

Misalkan diketahui sebuah bilangan X, bagaimana cara menentukan bahwa bilangan X itu termasuk bilangan prima atau bukan?

Asumsi: X adalah bilangan yang lebih besar dari 2

Berarti bilangan-bilangan yang akan menjadi pembagi adalah mulai angka 2 sampai X-1.

Jika bilangan X bisa dibagi oleh minimal salah satu dari bilangan-bilangan mulai 2 sampai X-1, maka dapat dikatakan bahwa bilangan X adalah bukan bilangan prima.

Contoh: 9

Bilangan sebagai pembagi adalah 2 3 4 5 6 7 8

Untuk mengetahui bahwa suatu bilangan bisa dibagi atau tidak, paling mudah kita menggunakan bantuan mod, yang menyatakan sisa hasil bagi. Jika sisa hasil bagi 0 berarti bisa dibagi.

More »

Posted By: Galih Hermawan
Last Edit: 30 Oct 2011 @ 23:42

EmailPermalinkComments (52)
Tags
 22 Jun 2009 @ 11:08 

Alhamdulillahi nahmaduhu wa nusholli wa nusallimu ‘alaa rasulihil kariim.

Setelah menuliskan tutorial mengenai deret bilangan genap ganjil, selanjutnya penulis akan memberikan tutorial yang hampir sama, yaitu bagaimana mengetahui dalam satu deret bilangan, bilangan mana saja yang habis dibagi oleh bilangan tertentu.

Misal, penulis punya sederet bilangan: 1 2 3 4 5 6 7 8 10

Habis dibagi 2: 2 4 6 8 10

Habis dibagi 3: 3 6 9

Habis di bagi 5: 5 10

Dan seterusnya.

Logika pemrogramannya adalah:

KAMUS
   i, bagi, banyak, jum : integer
   rata : real
ALGORITMA
   input ( bagi )
   jum ← 0
   banyak ← 0
   for i ← 1 to 10 do
      if (i mod bagi = 0) then
          output ( i )
          banyak ← banyak + 1
          jum ← jum + i
      endif
   endfor

   rata ← jum / banyak
   output ( "Total Jumlah bilangan ada ", jum )
   output ( "Rata-ratanya: ", rata )

Algoritma di atas memungkinkan kita untuk dapat mengetahui bilangan mana saja dalam sebuat deret yang habis dibagi oleh bilangan tertentu hanya sebatas satu kali periksa.
More »

Posted By: Galih Hermawan
Last Edit: 24 Jun 2009 @ 09:00

EmailPermalinkComments (12)
Tags
 22 Jun 2009 @ 9:38 

Bismillahi Alhamdulillahirobbil ‘alamiin.

Kali ini penulis akan berbagi tutorial yang berkaitan dengan logika pemrograman.

Sebagai langkah awal, mari kita ingat lagi bagaimana cara menentukan bahwa sebuah bilangan itu termasuk bilangan ganjil atau genap.

Beberapa bilangan ganjil mulai dari 1 – 10, yaitu: 1 3 5 7 9

Sedangkan, beberapa bilangan genap mulai dari 1 – 10, yaitu: 2 4 6 8 10

Dalam bidang matematika, setiap bilangan yang habis dibagi 2 atau tidak bersisa atau menghasilkan angka 0, maka termasuk bilangan genap. Sebaliknya, apabila bilangan tersebut bila dibagi 2 ternyata bersisa 1, berarti ganjil.

Dalam penyimbolan, sisa habis bagi ini sering menggunakan istilah mod atau simbol %.

Dan untuk hasil bagi positif (division), dapat digunakan istilah div atau simbol / atau \ jika menggunakan bahasa pemrograman Visual Basic.

Contoh:

4 div 2 = 2

4 mod 2 = 0 –> genap

5 div 2 = 2

5 mod 2 = 1 –> ganjil

Sekarang kita gunakan ilustrasi.

A div B = C

A mod B = D

Artinya, bilangan C dikali B kemudian ditambah D sama dengan A. Matematisnya, (C x B) + D = A

Sekarang kita gunakan logika pemrograman, atau ada yang sering menyebutnya dengan algoritma pemrograman.

Yang perlu diperhatikan bahwa, penentuan bahwa suatu bilangan itu ganjil atau genap cukup dengan memanfaatkan utilitas sisa hasil bagi atau mod saja, tanpa melibatkan div.

Berikut ini adalah contoh pseudocode dalam bahasa Indonesia.

JIKA A mod 2 = 0 MAKA
     A adalah bilangan genap
SEBALIKNYA
     A adalah bilangan ganjil

Sintaks SEBALIKNYA menandakan bahwa A mod 2 ≠ 0.
More »

Posted By: Galih Hermawan
Last Edit: 25 Jul 2009 @ 22:56

EmailPermalinkComments (14)
Tags
 09 Feb 2009 @ 16:43 

Hello World! Kata-kata ini kalau diartikan ke dalam bahasa Indonesia artinya Halo Dunia!.

Kenapa kok judul topik ini adalah Hello World!, karena kata-kata ini yang paling sering penulis lihat ketika membaca tulisan yang berkaitan dengan pemrograman komputer.

hello_world21hello_world31

Ketika penulis mempelajari bahasa pemrograman tertentu, rata-rata si penulis tutorial/buku sering menggunakan kata2 Hello World!

More »

Posted By: Galih Hermawan
Last Edit: 09 Feb 2009 @ 16:43

EmailPermalinkComments (0)
Tags

 Last 50 Posts
 Back
Change Theme...
  • Users » 1
  • Posts/Pages » 46
  • Comments » 311
Change Theme...
  • VoidVoid
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater « Default
  • FireFire
  • LightLight

Ijtima’ Indonesia 2009



    No Child Pages.

Keamanan Informasi Lanjut



    No Child Pages.

About



    No Child Pages.