SELAMAT DATANG

Minggu, 23 Maret 2014

ETIKA PROFESI sistem informasi pertemuan 3

4 PILAR KETRAMPILAN HIDUP

 



                                                 
Semua pilar akan saling berhubungan dan sama pentingnya dijalankan dalam kehidupan.
·         Personal
Dalam membentuk personal pada pilar pertama, ada 3 proses yang harus di lakukan
1.SOS (sense of solve)/ Tau Diri

         Tahapan pikiran yang harus dimiliki manusia, dan kebanyakan sense of solve tidak diketahui oleh                  seseorang, yang diketahui seseorang ialah sok tau
     2. PM (Personal Master)

         Seseorang yang memiliki pendirian yang kokoh
3         3. PP (Personal Power)
         Seseorang yang mempunyai kebijsanaan dan kewibawaan yang saangat tinggi.
         (personal power seseorang bila keluar, maka orang tersebut akan terlihat hebat walaupun fisiknyya                tidak sempurna)
·         System Thinking Skill
Sebuah Negara maju harus memiliki pendiri system yang baik.sistem yang dibuat juga harus sesuai dengan pilar yang 1.
·         Strategy Thinking Skill
Strategy berjalan apabila system yang ada sudah berjalan dengan baik.apabila pilar 1 – pilar 3 (internal) sudah berjalan dengan bagus, maka pilar 4 siap/ bisa berjalan.
·         Relational Thinking Skill
Kesadaran seseorang atas kewajiban pada dirinya


DAN ETIKA SESEORANG AKAN TERLIHAT APABILA SESEORANG TERSEBUT BISA MENGHARGAI DIRINYA SENDIRI BARU BISA MENGHARGAI ORANG LAIN.

Selasa, 13 Maret 2012

RESUME TOWERS OF HANOI (MENARA HANOI)

MARETIA RUMDIANI WARDIANA
1135010023

SECARA GARIS BESAR


TENTANG TOWERS OF HANOI


[{ Teka-teki ini ditemukan oleh Ă‰douard Lucas, ahli matematika Perancis di tahun 1883. Ada sebuah legenda tentang candi Indian yang berisi ruang besar dengan tiga tiang yang dikelilingi 64 cakram emas. Pendeta Brahma, melaksanakan tugas dari peramal di masa lalu, sesuai dengan aturan teka-teki ini. Menurut legenda ini, bila teka-teki ini diselesaikan, dunia akan kiamat. Tidak jelas benar apakah Lucas menemukan legenda ini atau terinspirasi olehnya.
Bila legenda ini benar, dan pendeta itu bisa memindahkan satu cakram tiap detik, menggunakan pemindahan paling sedikit, maka akan memakan waktu 264−1 detik atau kurang lebih 584,582 milyar tahun }]
Menara Hanoi adalah sebuah permainan matematis atau teka-teki. Permainan ini terdiri dari tiga tiang dan sejumlah cakram dengan ukuran berbeda-beda yang bisa dimasukkan ke tiang mana saja. Permainan dimulai dengan cakram-cakram yang tertumpuk rapi berurutan berdasarkan ukurannya dalam salah satu tiang, cakram terkecil diletakkan teratas, sehingga membentuk kerucut.

Tujuan dari teka-teki ini adalah untuk memindahkan seluruh tumpukan ke tiang yang lain, mengikuti aturan berikut:

§  Hanya satu cakram yang boleh dipindahkan dalam satu waktu.
§  Setiap perpindahan berupa pengambilan cakram teratas dari satu tiang dan memasukkannya ke tiang lain, di atas cakram lain yang mungkin sudah ada di tiang tersebut.
§  Tidak boleh meletakkan cakram di atas cakram lain yang lebih kecil.


Permainan Menara Hanoi sering digunakan dalam penelitian psikologis dalam hal pemecahan masalah. Selain itu, juga sering digunakan dalam pengajaran algorima rekursif bagi pelajar pemrograman. Permainan ini juga digunakan sebagai ujian ingatan oleh ahli psikolog syaraf dalam berupaya mengevaluasi amnesia.
Permainan ini merupakan permainan klasik yang sudah sangat sering digunakan sebagai contoh permasalahan yang dapat diselesaikan dengan cara rekursi.

Secara singkat Menara Hanoi adalah permainan untuk memindahkan n piringan dari tiang A ke tiang C dengan tiang bantu B, dimana kepingan yang lebih besar harus berada di bawah kepingan yang lebih kecil.



Contoh Ilustrasi Towers of Hanoi (Menara Hanoi)


Contoh program java-nya



sumber pustaka :




Jumat, 23 Desember 2011

CODING OOP dengan SKEMA INHERITANCE






Output



Source Codenya
package javaapplication12;

/**
 *
 * @author TOSHIBA
 */
import javax.swing.*;
class manusia{
    private String manusia;

    public void set_manusia(String nama) {
    manusia = nama;
    }
    public String get_Manusia() {
    return manusia;
    }
    }

class mahasiswa extends manusia {
    private String npm;
    private String mhs;
public void set_npm(String n) {
    npm = n;
    }

public String get_npm(){
    return npm;
    }

public void set_maha(String ipk) {
    mhs = ipk;
        }

public String get_mhs(){
    return mhs;
        }
    }

class pekerja extends mahasiswa{
    private String pekerja;
    private String gaji;

public void set_pekerja(String nama) {
    pekerja = nama;
    }

public String get_pekerja(){
    return pekerja;
    }

public void set_gaji(String g) {
    gaji = g;
    }

public String get_gaji(){
    return gaji;
    }
}

public class Main {

    /**
     * @param args the command line arguments
     */
public static void main(String[] args) {
        // TODO code application logic here
        pekerja x = new pekerja();
       x.set_manusia(JOptionPane.showInputDialog("Masukkan Nama"));
       x.set_maha(JOptionPane.showInputDialog("Masukkan IPK"));
       x.set_npm(JOptionPane.showInputDialog("Masukkan NPM"));
       x.set_pekerja(JOptionPane.showInputDialog("Masukkan ID Pekerja"));
       x.set_gaji(JOptionPane.showInputDialog("Masukkan Jumlah Gaji"));
//pemasukan data2
       System.out.println("Nama : "+x.get_Manusia());
       System.out.println("IPK : "+x.get_mhs());
       System.out.println("NPM : "+x.get_npm());
       System.out.println("ID pekerja : "+x.get_pekerja());
       System.out.println("Jumlah Gaji/bulan : "+x.get_gaji());
    }
}

TUGAS BAHASA PEMROGAMAN

package javaapplication12;

/**
 *
 * @author TOSHIBA
 */
import javax.swing.*;
class manusia{
    private String manusia;

    public void set_manusia(String nama) {
    manusia = nama;
    }
    public String get_Manusia() {
    return manusia;
    }
    }

class mahasiswa extends manusia {
    private String npm;
    private String mhs;
public void set_npm(String n) {
    npm = n;
    }

public String get_npm(){
    return npm;
    }

public void set_mhs(String ipk) {
    mhs = ipk;
        }

public String get_mhs(){
    return mhs;
        }
    }

class pekerja extends mahasiswa{
    private String pekerja;
    private String gaji;

public void set_pekerja(String nama) {
    pekerja = nama;
    }

public String get_pekerja(){
    return pekerja;
    }

public void set_gaji(String g) {
    gaji = g;
    }

public String get_gaji(){
    return gaji;
    }
}

public class Main {

    /**
     * @param args the command line arguments
     */
public static void main(String[] args) {
        // TODO code application logic here
        pekerja x = new pekerja();
       x.set_manusia(JOptionPane.showInputDialog("Masukkan Nama"));
       x.set_mhs(JOptionPane.showInputDialog("Masukkan IPK"));
       x.set_npm(JOptionPane.showInputDialog("Masukkan NPM"));
       x.set_pekerja(JOptionPane.showInputDialog("Masukkan ID Pekerja"));
       x.set_gaji(JOptionPane.showInputDialog("Masukkan Jumlah Gaji"));
//pemasukan data2
       System.out.println("Nama : "+x.get_Manusia());
       System.out.println("IPK : "+x.get_mhs());
       System.out.println("NPM : "+x.get_npm());
       System.out.println("ID pekerja : "+x.get_pekerja());
       System.out.println("Jumlah Gaji/bulan : "+x.get_gaji());
    }
}

Kamis, 22 Desember 2011

SORTING

Sorting Algorithm
Bubble Sort -- Selection Sort -- Insertion Sort -- Exchange Sort





Sorting Algorithm
Salah satu bagian penting dari struktur data adalah sorting atau pengurutan data. Ada banyak sekali Algoritma pengurutan data di dunia komputer, yatu : bubble sort, selection sort, insertion sort, exchange sort,  quick sort, merge sort, dll.
Setiap algoritma memiliki kelebihan dan kekurangan masing – masing, kita akan mempelajari cukup 4 algoritma saja, yaitu bubble sort, selection sort, insertion sort, dan exchange sort. Bila ingin mempelajari algoritma yang lain silakan berkunjung ke www.wikipedia.org .
Bubble Sort
Perhatikan kode berikut :
Task 1
1.                   Apa yang dilakukan program diatas ?
2.                   Lakukan untuk pengurutan sebaliknya!
3.                   Pengurutan diatas dilakukan dari depan atau belakang? Buat program untuk sebaliknya!
4.                   Buat program agar user bisa inputkan data secara dinamis, baik untuk ascending, maupun descending!
5.                   Tambahkan kode agar user dapat melihat proses pengurutan data!
Note : Ascending adalah pengurutan data dari terkecil menuju terbesar, sedangkan descending adalah pengurutan dari data terbesar menuju terkecil.
Exchange Sort
Perhatikan kode berikut :
Task 2
1.                   Apa yang dilakukan program diatas ?
2.                   Lakukan untuk pengurutan sebaliknya!
3.                   Buat program agar user bisa inputkan data secara dinamis, baik untuk ascending, maupun descending!
4.                   Tambahkan kode agar user dapat melihat proses pengurutan data!
5.                   Apa perbedaan antara exchange sort dan bubble sort!

Selection Sort
Perhatikan kode berikut :
Task 3
1.                   Apa yang dilakukan program diatas ?
2.                   Lakukan untuk pengurutan sebaliknya!
3.                   Apa fungsi pos?
4.                   Buat program agar user bisa inputkan data secara dinamis, baik untuk ascending, maupun descending!
5.                   Tambahkan kode agar user dapat melihat proses pengurutan data!
Insertion Sort
Perhatikan kode berikut :
Task 4
1.                   Apa yang dilakukan program diatas ?
2.                   Lakukan untuk pengurutan sebaliknya!
3.                   Apa fungsi tampung?
4.                   Buat program agar user bisa inputkan data secara dinamis, baik untuk ascending, maupun descending!
5.                   Tambahkan kode agar user dapat melihat proses pengurutan data!
Task 5
1.                   Apa yang menjadi kesalahan pada program diatas?
2.                   Coba anda perbaiki!



Task 6
1.                   Gabungkan 4 sorting diatas menjadi 1 program menu pilihan untuk mengurutkan data kode pos.


2.                   User pertama kali harus memasukkan data terlebih dahulu, apabila tidak ada data, maka pengurutan data tidak bisa berjalan.
3.                   Data yang masuk hanya bisa berupa angka.
4.                   Semua metode mengurutkan secara ascending.
5.                   Pada tiap metode, user dapat melihat proses pengurutan data.






TAMBAHAN
Quick Sort
Quick sort merupakan algoritma kedua tercepat setelah merge sort. Quick sort disebut juga divide and conquer algorithm. Quick sort memiliki average case nLogn
Langkah-langkah quick sort :
1.                   SELECT
Pilih sebuah element , elemen ini kita sebut pivot
2.                   DIVIDE
Kemudian pisahkan data menjadi 2 bagian, bagian yang lebih kecil dari pivot dan bagian yang lebih besar dari pivot
3.                   RECUR and CONQUER
Kemudian 2 bagian tersebut diurutkan secara rekursif dengan memanggil fungsi itu sendiri, misal quicksort()



Perhatikan kode dibawah ini dan silakan di coba deprogram anda masing-masing:
Task 7
1.                   Bagian mana pada program yang menentukan pivot ?
2.                   Bagian mana pada program yang memisahkan array menjadi 2 bagian ?
3.                   Bagian mana pada program yang melakukan fungsi rekursif ?
SOAL-SOAL
1.       Soal Dan Pembahasan
·         Bubble Sort
·         Exchange Sort








·         Selection Sort
·         Insertion Sort
·         Sebagai latihan keempat sorting di atas, lakukan:
o   Ubah code jadi sorting DESCENDING
o   Ubah code jadi inputan dinamis!(jumlah data tidak lagi 10)

2.       Soal Tanpa Pembahasan
·         Search then Sort
Aio buat program yang seru-seru!
Input nya sebuah deret angka yang mengandung tanda titik di dalam nya. Nah, kalo titik nya udah ketemu, terus semua angka di belakang nya di sorting jadi ascending. Nih contoh input output nya:
Input :
                Banyak data : 10
4 2 3 5 1 . 8 7 9 6
Output :
                4 2 3 5 1 . 6 7 8 9
Note : tanda titik hanya akan  ada 1 dalam 1 testcase.
·         2D Sort
Buatlah program untuk melakukan sorting array 2 dimensi!
Input :
                m : 3
n : 2
3 2 1
5 4 3
Output:
                1 2 3
                3 4 5
3.       Soal Take Home (**Take Home Test maybe?)
Seorang yang amat sangat cerdas mendapatkan tugas yang menarik, dia di haruskan membuat sebuah program dengan menu:
a.                   Duo Multi Sorting
Menu pertama adlaah program  “duo multi sorting” dengan contoh sorting:
Barisan angka yang belum di sorting: 4 2  5 1 8 7 10 9 6
Barisan angka hasil multi sorting : 1 10 3 8 5 6 7 4 9 2
Kondisi-kondisi yang menjadi batasan adalah:
o        Panjang data tidak akan pernah lebih dari 20
o        Algoritma sorting yang digunakan BEBAS!
b.                  Ascending vs Descending
Menu kedua adalah program “Ascending vs Descending” dengan contoh sorting:
Barisan angka yang belum di sorting : 4 2 3 5 1 8 7 10 9 6 12 14 15 13 11
Barisan angka yang sudah di sorting : 1 2 3 4 5 10 9 8 7 6 11 12 13 14 15
Kondisi-kondisi yang menjadi batasan adalah:
o   Panjang data tidak akan pernah lebih dari 30
o   Setiap 5 digit, terjadi perubahan sorting, CEK POLA!
o   Algoritma sorting yang digunakan harus EXCHANGE SORT!
c.                   Single Word Sorting
Menu ketiga adalah program “Single Word Sorting” dengan contoh sorting :
Kalimat yang belum disorting : danny emang tampan sekali
Kalimat sesudah disorting : adnny aegmn aamnpt aeikls
Kondisi-kondisi yang menjadi batasan adalah:
o   Panjang kalimat tidak pernah lebih dari 30 suku(sudah termasuk spasi dan kawan” nya)
o   Algoritma sorting yang digunakan harus SELECTION SORT!
Nah, karena otak nya sudah tidak lagi cerdas, dia meminta bantuan pada kita yang masih lebih cerdas daripada dia…:D

Daftar Pustaka
·                     http://en.wikipedia.org/wiki/Sorting_algorithm
·                     lecturer.eepis-its.edu/~entin/Struktur%20Data/Minggu%2011/Minggu%2011%20Quick.pdf
·                     http://lecturer.ukdw.ac.id/anton/strukdat.php