Rabu, 17 September 2014

   
   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)




   Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang dengan baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien. Pelaksana algoritma adalah Komputer. Manusia dan komputer berkomunikasi dengan cara manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program. Komputer adalah alat bantu untuk menyelesaikan masalah. Dalam menyelesaian masalah dengan komputer perlu merumuskan langkah langkah penyelesaian masalah dalam sekumpulan instruksi. Sekumpulan instruksi yang dimengerti oleh komputer yang disebut dengan program.

   Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman. Bahasa pemrograman dapat dikategorikan dalam :
  • Bahasa tingkat tinggi [HLL] : PASCAL, C, Java, PHP, ASP
  • Bahasa tingkat menengah[MLL] : Assembly
  • Bahasa tingkat rendah [LLL] : Machine Code
Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama. Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (biner) menggunakan penterjemah.
  • Interpreter; Menterjemahkan baris per baris instruksi [Bahasa Basic]
  • Compiler; Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C]
    Belajar memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman adalah belajar memakai suatu bahasa, aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya untuk membuat program yang ditulis dalam bahasa itu saja.

   Penulisan algoritma tidak tergantung dari spesifikasi bahasa pemrograman dan komputer yang mengeksekusinya. Notasi algoritma bukan notasi bahasa pemrograman tetapi dapat diterjemahkan ke dalam berbagai bahasa pemrograman.

NOTASI ALGORITMA NARASI

Contoh; Algoritma Kelulusan_mhs

   Diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus. jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.
DESKRIPSI :
baca nama dan nilai mahasiswa.
jika nilai >= 60 maka
keterangan = lulus
tetapi jika
keterangan = tidak lulus.
tulis nama dan keterangan

NOTASI ALGORITMA PSEUDOCODE

Contoh; Algoritma Kelulusan_mhs
{diberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut  dinyatakan lulus jika tidak maka dinyatakan tidak lulus}

DEKLARASI :
Nama : string
Nilai : integer
Keterangan : string
DESKRIPSI :
read (nama, nilai)
if nilai >= 60 then
keterangan = ‘lulus’
else
keterangan = ‘tidak lulus’
write(nama, keterangan)

NOTASI ALGORITMA FLOWCHART

Aturan Penulisan Algoritma :

  • Judul algoritma : Bagian yang terdiri atas nama algoritma dan penjelasan (spesifikasi) tentang algoritma tersebut. Nama sebaiknya singkat dan menggambarkan apa yang dilakukan oleh algoritma tersebut.
  • Deklarasi : Bagian untuk mendefinisikan semua nama yang digunakan di dalam program. Nama tersebut dapat berupa nama tetapan, peubah, tipe, prosedur dan fungsi.
  • Deskripsi : Bagian ini berisi uraian langkah-langkah penyelesaian masalah yang ditulis dengan menggunakan notasi yang akan dijelaskan selanjutnya.

Sumber : ariesboys234.blogspot.com

Senin, 15 September 2014

   Tari Bali adalah tarian yang berasal dari Bali. Tari Bali tidak selalu bergantung pada alur cerita. Tujuan utama penari Bali adalah untuk menarikan tiap tahap gerakan dan rangkaian dengan ekspresi penuh. Kecantikan tari Bali tampak pada gerakan-gerakan yang abstrak dan indah. Tari-tari Bali yang paling dikenal antara lain pendet, gabor, baris, sanghyang dan legong. Tari Bali sebagian besar bermakna religius. Sejak tahun 1950-an, dengan perkembangan pariwisata yang pesat, beberapa tarian telah ditampilkan pada kegiatan-kegiatan di luar keagamaan dengan beberapa modifikasi.

Gerakan dasar Tarian Bali

  • Macam-Macam Gerakan pada Seni Tari Bali :
1.     Gerakan Kaki
2.     Gerakan Tangan
3.     Gerakan Leher
4.     Gerakan Jari
5.     Gerakan Badan

A.    Contoh-Contoh Gerakan Kaki

1.     Tampak Sirang Pada berarti telapak kaki menyerong dengan tumit kaki kiri dan kanan    menempel, biasanya gerakan ini ada pada setiap tarian pria

2.     Ngumbang pada dasarnya  berarti berjalan, ngumbang biasanya ada pada setiap tarian bali, karena berjalan adalah gerakan dasar pada tarian bali
3.    Tayog artinya berjalan goyang, biasanya ada pada tarian pendet dan pada seluruh tarian wanita
4.     Nyrengseng berarti bergeser cepat, gerakan ini termasuk dasar dari sebuah tarian bali


B.     Contoh Gerakan Tangan


1.     Luk Nagastru berarti telapak tangan berputar ke arah dalam, gerakan ini adalah contoh gerakan dasar pada tarian Bali

2.     Nepuk Kampuh berarti gerakan tangan menepuk kampuh atau kamen di dada, biasanya gerakan ini ada pada tarian baris (pria)
3.     Mungkah Lawang berarti gerakan pembuka pada tarian
4.      Nabdab Gelungan artinya gerakan meraba gelungan yang dipakai di kepala pada saat menarikan sebuah tarian bali


C.     Contoh Gerakan Jari


1.     Jeriring berarti gerakan bergetar yang terdapat pada jari dengan halus

2.     Manganjali berarti tangan menyembah, biasanya dilakukan ketika sebelum melakukan atau melaksanakan sebuah tarian di Bali
                   
3.  Nyempurit berarti gerakan jari menempelkan ibu jari dengan jari tengah

D.    Contoh  Gerakan Badan


1.     Ngotag pinggang berarti gerakan menggoyangkan pinggang pada saat berjalan atau melakukan sebuah gerakan tari

2.     Nyrengseng berarti merebahkan badan ke kiri atau ke kanan secara bergantian dan teratur mengikuti irama gamelan

E.     Contoh Gerakan Leher


1.     Ngepik berarti leher rebah ke kanan dan ke kiri pada saat berjalan atau menari
2.     Ngelidu berarti  menoleh ke kanan dan ke kiri pada saat dalam tarian

3.     Ngetget berarti melihat ke bawah, dalam tarian gerakan ini adalah gerakan dasar

Sabtu, 13 September 2014


Unified Modeling Language (UML) adalah bahasa spesifikasi standar untuk mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. 

Pengertian

   Unified Modeling Language (UML) adalah himpunan struktur dan teknik untuk pemodelan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodologi untuk mengembangkan sistem OOP dan sekelompok perangkat tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi, dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi perangkat (tool) desain berorientasi objek dari IBM.

   UML adalah suatu bahasa yang digunakan untuk menentukan, memvisualisasikan, membangun, dan mendokumentasikan suatu sistem informasi. UML dikembangkan sebagai suatu alat untuk analisis dan desain berorientasi objek oleh Grady Booch, Jim Rumbaugh, dan Ivar Jacobson. Namun demikian UML dapat digunakan untuk memahami dan mendokumentasikan setiap sistem informasi. Penggunaan UML dalam industri terus meningkat. Ini merupakan standar terbuka yang menjadikannya sebagai bahasa pemodelan yang umum dalam industri peranti lunak dan pengembangan sistem.

UML

   Sampai era tahun 1990 puluhan metodologi pemodelan berorientasi objek telah bermunculan di dunia. Diantaranya adalah: metodologi booch, metodologi coad, metodologi OOSE, metodologi OMT, metodologi shlaer-mellor, metodologi wirfs-brock, dsb. Masa itu terkenal dengan masa perang metodologi (method war) dalam pendesainan berorientasi objek. Masing-masing metodologi membawa notasi sendiri-sendiri, yang mengakibatkan timbul masalah baru apabila kita bekerjasama dengan kelompok/perusahaan lain yang menggunakan metodologi yang berlainan.

Dimulai pada bulan Oktober 1994 Booch, Rumbaugh dan Jacobson, yang merupakan tiga tokoh yang boleh dikata metodologinya banyak digunakan mempelopori usaha untuk penyatuan metodologi pendesainan berorientasi objek. Pada tahun 1995 direlease draft pertama dari UML (versi 0.8). Sejak tahun 1996 pengembangan tersebut dikoordinasikan oleh Object Management Group (OMG – http://www.omg.org).

Diagram UML


   UML menyediakan 10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu:
  1. Use Case Diagram untuk memodelkan proses bisnis. 
  2. Conceptual Diagram untuk memodelkan konsep-konsep yang ada di dalam aplikasi.
  3. Sequence Diagram untuk memodelkan pengiriman pesan (message) antar objects.
  4. Collaboration Diagram untuk memodelkan interaksi antar objects.
  5. State Diagram untuk memodelkan perilaku objects di dalam sistem.
  6. Activity Diagram untuk memodelkan perilaku Use Cases dan objects di dalam system.
  7. Class Diagram untuk memodelkan struktur kelas.
  8. Object Diagram untuk memodelkan struktur object.
  9. Component Diagram untuk memodelkan komponen object.
  10. Deployment Diagram untuk memodelkan distribusi aplikasi.
   Berikut akan dijelaskan 4 macam diagram yang paling sering digunakan dalam pembangunan aplikasi berorientasi object, yaitu use case diagram, sequence diagram, collaboration diagram, dan class diagram.

Use Case Diagram

Use case diagram digunakan untuk memodelkan bisnis proses berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi.

   Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan di dalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.

Sequence Diagram

   Diagram Class dan diagram Object merupakan suatu gambaran model statis.Namun ada juga yang bersifat dinamis, seperti Diagram Interaction.Diagram sequence merupakan salah satu diagram Interaction yangmenjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirimdan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut.

Collaboration Diagram

   Collaboration diagram dipakai untuk memodelkan interaksi antar object di dalam sistem. Berbeda dengan sequence diagram yang lebih menonjolkan kronologis dari operasi-operasi yang dilakukan, collaboration diagram lebih fokus pada pemahaman atas keseluruhan operasi yang dilakukan oleh object.

Class Diagram

   Class diagram menggambarkan struktur statis class di dalam sistem. class merepresentasikan sesuatu yang ditangani oleh sistem. class dapat berhubungan dengan yang lain melalui berbagai cara: associated (terhubung satu sama lain), dependent (satu class tergantung/menggunakan class yang lain), specialed (satu class merupakan spesialisasi dari class lainnya), atau package (group bersama sebagai satu unit). sebuah sistem biasanya mempunyai beberapa class diagram.

Jumat, 12 September 2014



Pemrograman berorientasi objek 

(object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas dan objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya.
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

Konsep Pemrograman Berorientasi Objek (OOP)

   Kata Program dan Pemrograman mungkin sudah tidak asing didengar, tetapi apakah sebenarnya Program itu dan apa bedanya dengan Pemrograman ? Program adalah suatu bentuk aplikasi atau bisa juga disebut software yang dibuat dengan menggunakan Bahasa Pemrograman dan dapat menyelesaikan suatu Tugas, Fungsi, Perhitungan dengan menggunakan komputer. Bahasa Pemrograman merupakan kumpulan perintah-perintah yang dimengerti komputer untuk melakukan tugas-tugas tertentu. Sedangkan Pemrograman atau Programming merupakan teknik untuk membuat suatu Program dengan menggunakan Bahasa Pemrograman.

   Pemrograman berorientasi objek (Object Oriented Programming) merupakan teknik membuat suatu program berdasarkan objek. Untuk lebih memudahkan pemahaman tentang objek, saya beri sebuah contoh : Meja, Kursi, Jam Dinding dan yang lainnya merupakan contoh objek. Objek yang disebutkan tadi umumnya berada didalam sebuah ruangan, ruangan apabila kita melihatnya dari sebuah rumah bisa juga dikategorikan sebuah objek dan rumah jika dilihat dari cara pandang yang lebih luas lagi juga merupakan objek. Jadi sebuah Objek merupakan suatu bentuk atau model yang tergantung dari cara pandang objek dimaksud. Meja, Kursi, Jam Dinding ada dalam sebuah Ruangan. Ruang A, Ruang B, dan Ruang yg lain berada dalam sebuah Rumah. Rumah 1, Rumah 2 dan Rumah yang lain juga berada didalam suatu tempat yang lebih luas yaitu Bumi, dst. Dan bukan tidak mungkin didalam Objek Jam Dinding terdapat objek-objek yang lain yang lebih kecil misalnya Batterai, Gear, dll. Cara pandang kita dari sebuah Ruangan, Rumah atau Bumi merupakan Class apabila kita melihatnya dalam Pemrograman.

   Setiap objek memiliki Atribut dan Method. Atribut adalah segala sesuatu yang berhubungan dengan
karakteristik objek. Seperti Tipe, Model, Pintunya, Kusennya menggunakan kayu apa?, Warna Catnya, merupakan salah satu atribut dari Rumah. Sedangkan Method dari Rumah adalah dapat melindungi dari panas, hujan, angin. Jadi Method merupakan Fungsi atau segala sesuatu yang dapat dilakukan Objek. Tanpa harus berteori lagi, kita coba langsung pemahaman tentang Objek dalam Pemrograman dan untuk Bahasa Pemrogramannya saya menggunakan Java. Mengapa Java? Karena pengelolaan Objek didalam Java lebih mudah dipahami. 


Konsep dasar dari Pemrograman berorientasi objek menekankan konsep berikut:
 

•    Kelas — kumpulan atas definisi data dan fungsi-fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebagai contoh 'class of dog' adalah suatu unit yang terdiri atas definisi-definisi data dan fungsi-fungsi yang menunjuk pada berbagai macam perilaku/turunan dari anjing. Sebuah class adalah dasar dari modularitas dan struktur dalam pemrograman berorientasi object.Sebuah class secara tipikal sebaiknya dapat dikenali oleh seorang non-programmer sekalipun terkait dengan domain permasalahan yang ada, dan kode yang terdapat dalam sebuah class sebaiknya (relatif) bersifat mandiri dan independen (sebagaimana kode tersebut digunakan jika tidak menggunakan OOP). Dengan modularitas, struktur dari sebuah program akan terkait dengan aspek-aspek dalam masalah yang akan diselesaikan melalui program tersebut. Cara seperti ini akan menyederhanakan pemetaan dari masalah ke sebuah program ataupun sebaliknya.

•    Objek - membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer; objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek.


•    Atribut -  adalah data yang dimiliki oleh object dalam kelas.
Dari pengertian tersebut diatas dapat diberikan contoh sebagai berikut.
Kelas : Manusia
Object : Rini, Budi
Atribut : Rini memiliki atribut nama, Alamat, Umur
Source : agenilmu dan pengubahan seperlunya

Karakteristik Pemrograman Berorientasi Objek (OOP)


•    Abstraksi - Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. Setiap objek dalam sistem melayani sebagai model dari "pelaku" abstrak yang dapat melakukan kerja, laporan dan perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem, tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk mengembangkan sebuah pengabstrakan.
•    Enkapsulasi (Pembungkusan) - Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam dari sebuah objek dengan cara yang tidak layak; hanya metode dalam objek tersebut yang diberi izin untuk mengakses keadaannya. Setiap objek mengakses interface yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek tersebut.


•    Polimorfisme (Banyak rupa) melalui pengiriman pesan. Tidak bergantung kepada pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan; metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesa tersebut dikirim. Contohnya, bila sebuah burung menerima pesan "gerak cepat", dia akan menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama, dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut polimorfisme karena sebuah variabel tungal dalam program dapat memegang berbagai jenis objek yang berbeda selagi program berjalan, dan teks program yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.


•    Pewarisan (Inheritance) - Model Pemrograman berorientasi objek juga menerapkan konsep pewarisan. Dalam sebuah program, suatu kelas dapat diturunkan menjadi kelas-kelas baru lainnya yang akan mewarisi beberapa sifat atau perilaku dari kelas induknya. Semua class dalam Java, termasuk class yang membangun Java API, merupakan subclass dari superclass Object. Pewarisan ( inheritance) terdiri dari :


1. Superclass


    Adalah class yang letaknya di atas class tertentu di dalam hierarki.


2. Subclass


    Adalah class yang letaknya di bawah class tertentu di dalam hierarki.
Berikut Contoh Program OOP sederhana dengan menggunakan Java :

subclass
datadiri.java

public class datadiri {
    String nama="Ahmad Budi Prastyo Samudro",
           nim="11120476",
           kls="11.7F.01",
           ttl="Kediri 02 Mei 1991",
           agm="Islam",
           almt="Jl. Gatot Subroto no. 101 Bendungan Hilir"; 
}

class
biodata.java

public class biodata {
    public static void main(String[]args){
    datadiri bio=new datadiri();
    System.out.println("My Biodata");
    System.out.println("Nim               : "+bio.nim);
    System.out.println("Nama Lengkap      : "+bio.nama);
    System.out.println("Kelas             : "+bio.kls);
    System.out.println("Tempat,Tgl Lahir  : "+bio.ttl);
    System.out.println("Agama             : "+bio.agm);
    System.out.println("Alamat            : "+bio.almt);
    }
}