Kamis, 10 April 2014

Model Pengambilan Keputusaan

Pengambilan keputusan sering kita lakukan sehari-hari tetapi tanpa kita sadari. Tugas seorang manajer atau leader sehari-hari adalah mengambil keputusan. Seringkali banyak keputusan yang harus diambil setiap hari, tetapi kadang-kadang satu hari hanya ada satu keputusan saja yang kita buat. Hal ini tergantung keperluannya. Membuat keputusan dan pemecahan masalah merupakan salah satu peranan yang harus dimainkan setiap leader dan manajer. Semua fungsi manajemen seperti perencanaan, pengorganisasian, motivasi, kepemimpinan, komunikasi, koordinasi, dan pengawasan dan pengendalian memerlukan pengambilan keputusan dan pemecahan masalah.

Perubahan situasi dan kondisi yang sangat cepat menjadi faktor yang harus dipertimbangkan dalam manajemen yang mendorong manajer untuk mampu membuat sejumlah keputusan dalam waKepala Sekolah yang tepat dan cepat. Untuk mampu mengimbangi cepatnya perubahan waKepala Sekolah, seorang manajer harus sanggup menghadapi minimal tiga tantangan yaitu: (1) keadaan yang sangat kompleks, (2) keadaan yang tidak menentu, dan (3) tuntutan untuk dapat bertindak luwes.
 
Kualitas suatu keputusan merupakan cermin dari daya pikir manajer. Oleh karena itu, berpikir dalam hubungannya dengan mengambil keputusan dan memecahkan masalah harus diusahakan agar tidak tersesat ke jalan yang tidak efektif dan efisien.
Modul ini membahas pengertian pengambilan keputusan, proses pengambilan keputusan, dan contoh-contoh cara mengambil keputusan.

Pengambilan keputusan ialah proses memilih sejumlah alternatif. Pengambilan keputusan penting bagi administrator pendidikan karena proses pengambilan keputusan mempunyai peran penting dalam memotivasi, kepemimpinan, komunikasi, koordinasi, dan perubahan organisasi. Setiap level administrasi sekolah mengambil keputusan secara hirarkis. Keputusan yang diambil administrator berpengaruh terhadap pelanggan pendidikan terutama peserta didik. Oleh karena itu, setiap administrator pendidikan harus memiliki keterampilan mengambil keputusan secara cepat dan tepat.

Model Pengambilan Keputusan Model Mintzberg, Drucker, dan Simon Mintzberg, et.al. (1976) memberikan tiga tahap dalam proses pengambilan keputusan yaitu: (1) tahap identifikasi, (2) tahap pengembangan, dan (3) tahap pemilihan. Drucker (1993) seorang ahli pemimpin organisasi memberikan enam langkah dalam proses pengambilan keputusan yaitu: (1) mendefinisikan masalah, (2) menganalisis masalah, (3) mengembangkan alternatif pemecahan masalah, (4) memutuskan satu pemecahan masalah terbaik, (5) merencanakan tindakan yang efektif, dan (6) memantau dan menilai hasilnya.

Simon (1997) pemenang Nobel teori pengambilan keputusan menggambarkan proses pengambilan keputusan atas tiga tahap yaitu: (1) kegiatan intelijen, (2) kegiatan disain, dan (3) kegiatan pemilihan.

Berdasarkan ketiga pendapat tersebut di atas, maka dapat disimpulkan bahwa proses pengambilan keputusan meliputi tiga kegiatan yaitu: (1) identifikasi dan pemilihan masalah, (2) pengembangan alternatif pemecahan masalah, dan (3) memilih alternatif pemecahan masalah terbaik.

Setiap model memiliki basis umum pengambilan keputusan. Model pengambilan keputusan dapat dibedakan atas model pengambilan keputusan rasional, model pengambilan keputusan klasik, model pengambilan keputusan perilaku, model Vroom & Yetton (decision tree), model pengambilan keputusan Chung & Megginson, dan model pengambilan keputusan pohon masalah. Model Pengambilan Keputusan Rasional.

Keputusan dapat dibedakan atas dua tipe yaitu terprogram (struKepala Sekolahred) dan tidak terprogram (unstructured). Keputusan terprogram ialah keputusan yang selalu diulang kembali. Contohnya: keputusan kenaikan kelas pesera didik, keputusan pengangkatan, keputusan penetapan gaji pegawai baru, keputusan pensiun, dan sebagainya. Keputusan tidak terprogram ialah keputusan yang diambil untuk menghadapi situasi rumit dan atau baru. Gambar berikut ini menggambarkan keterkaitan proses pengambilan terprogram dengan pengambilan keputusan tidak terprogram dalam model pengambilan keputusan rasional. Model Pengambilan Keputusan Klasik.

Model pengambilan keputusan klasik berasumsi bahwa keputusan merupakan proses rasional di mana keputusan diambil dari salah satu alternatif terbaik. Model klasik didasarkan konsep rasionalitas lengkap (complete rationality). Sesuai dengan model klasik, proses pengambilan keputusan dibagi atas enam langkah logis seperti yang ditunjukkan gambar berikut ini.

Model Pengambilan Keputusan Perilaku.
Model ini didasarkan sejauh mana keputusan itu dapat memberikan kepuasan. Model ini juga mempertimbangkan pengambilan keputusan atas dasar rasionalitas kontekstual dan rasionalitas retspektif. Rasionalitas kontekstual artinya keputusan tidak hanya didasarkan oleh ketentuan tersurat (tekstual) tetapi juga yang tersirat (kontekstual).

Model Pengambian Keputusan Carnegie.
Model ini lebih mengakui akan kepuasan, keterbatasan rasionalitas, dan koalisi organisasi. Perbedaan antara pengambilan keputusan rasional dengan Carnegie ditunjukkan oleh tabel berikut ini :

Perbedaan Model Rasional dengan Model Carnegie

Model Rasional

Banyak informasi yang tersedia
Murah
Bebas nilai
Alternatif banyak
Keputusan diambil dengan suara bulat
Keputusan dipilih yang terbaik bagi organisasi

Model Carnegie
Sedikit informasi yang tersedia
Mahal, karena masih mencari informasi
Terikat nilai
Alternatif sedikit
Keputusan dengan kompromi, persetujuan, dan akomodasi antara koalisi organisasi
Keputusan dipilih yang memuaskan organisasi
(Jones,1995)

Model Pengambilan Keputusan Berdasarkan Manfaat Dasar pemikirannya adalah: (1) mutu keputusan, (2) kreativitas keputusan, (3) penerimaan keputusan, (4) pemahaman keputusan, (5) pertimbangan keputusan, (6) ketepatan keputusan. Model Pengambilan Keputusan Berdasarkan Masalah. Ada tiga tendensi khusus yang dapat merusak proses keputusan kelompok yaitu: (1) pikiran kelompok, (2) perubahan beresiko, dan eskalasi komitmen.
  • Model Pengambilan Keputusan Berdasarkan Lapangan
Model ini paling banyak digunakan sekolah karena ingin melibatkan partisipasi warga sekolah dalam mengambil keputusan. Lima teknik penting dalam pengambilan keputusan berdasarkan lapangan adalah: (1) curah pendapat (brainstorming), (2) teknik grup nominal, (3) teknik Delphi, (3) pembela yang menantang apa yang dianggap baik (devil’s advocate).
  • Model Pengambilan Keputusan Pohon Masa
Masalah yang dihadapi adalah buruknya manajemen pendidikan Akibatnya adalah rendahnya mutu pendidikan Penyebabnya adalah perencanaan tidak mantap, pelaksanaan tidak tepat, pengawasan tidak ketat.

Dipilih lagi satu penyebab yang prioritas misalnya pelaksanaan tidak tepat.
Penyebab pelaksanaan tidak tepat adalah rendahnya motivasi kerja guru, lemahnya kepemimpinan pendidikan, lambatnya memecahkan masalah, kurang baiknya komunikasi, dan kurang baiknya koordinasi. Penyebab pelaksanaan tidak tepat tidak boleh sama maknanya misalnya lemahnya kordinasi, yang lain lagi kurang baiknya koordinasi atau koordinasi belum efektif.
  • Tipe Keputusan Manajerial
Chung & Megginson (1981) memberikan tipologi keputusan manajerial yang didasarkan atas dua dimensi yang berhubungan dengan masalah yaitu: (1) komleksitas masalah, dan (2) dampak ketidakpastian. Gambar berikut ini menunjukkan empat tipe keputusan manajerial.

Kompleksitas masalah Tinggi
1. Keputusan judgmental
2. Contoh: marketing
3. Investasi, dan masalah
4. Personil
5. Keputusan terprogram
6. Contoh: masalah rutin,
7. Dan kegiatan terjadwal kompleks, dan Pasti
8. Tipe Keputusan Manajerial Rendah
1. Keputusan Tidak pasti
2 Contoh: penelitian
3. pengembangan, dan perencanaan jangka panjang
4. organisasi
5. Keputusan analisis
6 contoh keseharian
7 Masalah keteknikan Gambar
8. Tipe keputusan tak terprogram
(Chung & Megginson,1981)

Metode Keputusan,a.l.:1) Keputusan yang Kurang Tanggapan, 2) Keputusan dengan Otoritas, 3) Keputusan Minoritas, 4) Keputusan Mayoritas, 5) Keputusan konsensus 6) Keputusan Bulat.

Contoh instansi pemerintahan yang menganut sistem pengambilan keputusan klasik yaitu pada sistem pemerintahan di pedesaan seperti contoh kepala desa. Kepala desa dalam mengambil keputusan melalui proses rasional di mana keputusan diambil dari salah satu alternatif terbaik. Misalnya ada suatu permasalahan dalam instansi tersebut kemudian kepala desa melakukan menurut suara terbayak misalnya dengan cara system voting dan kemudian mengambil keputusan dari hasil voting tersebut.

Contoh instansi pemerintahan yang menganut sistem teori klasik yaitu pada isntansi DPRD. Dimana DPRD bertindak atas suara masyarakat. Apabila tidak ada keluhan dan kritikan dari masyarakat anggota dewan akan diam saja. Seperti contoh dalam perbaikan jalan. Apabila masyarakat hanya diam saja anggota dewan pun juga diam saja. Tetapi apabila masyarakat berbicara barulah pemerintahan melakukannya. Pemerintah pun melakukannya atas berdasarkan model-model dibawah ini :
  • Model Pengambilan Keputusan Perilaku.
Model ini didasarkan sejauh mana keputusan itu dapat memberikan kepuasan. Model ini juga mempertimbangkan pengambilan keputusan atas dasar rasionalitas kontekstual dan rasionalitas retspektif. Rasionalitas kontekstual artinya keputusan tidak hanya didasarkan oleh ketentuan tersurat (tekstual) tetapi juga yang tersirat (kontekstual).
  • Model Pengambian Keputusan Carnegie.
Model ini lebih mengakui akan kepuasan, keterbatasan rasionalitas, dan koalisi organisasi.
 
Model Pengambilan Keputusan Berdasarkan Manfaat Dasar pemikirannya adalah: (1) mutu keputusan, (2) kreativitas keputusan, (3) penerimaan keputusan, (4) pemahaman keputusan, (5) pertimbangan keputusan, (6) ketepatan keputusan. Model Pengambilan Keputusan Berdasarkan Masalah. Ada tiga tendensi khusus yang dapat merusak proses keputusan kelompok yaitu: (1) pikiran kelompok, (2) perubahan beresiko, dan eskalasi komitmen.
  • Model Pengambilan Keputusan Berdasarkan Lapangan
Model ini paling banyak digunakan sekolah karena ingin melibatkan partisipasi warga sekolah dalam mengambil keputusan. Lima teknik penting dalam pengambilan keputusan berdasarkan lapangan adalah: (1) curah pendapat (brainstorming), (2) teknik grup nominal, (3) teknik Delphi, (3) pembela yang menantang apa yang dianggap baik (devil’s advocate).

Model Pengambilan Keputusan Pohon Masa
Masalah yang dihadapi adalah buruknya manajemen pendidikan Akibatnya adalah rendahnya mutu pendidikan Penyebabnya adalah perencanaan tidak mantap, pelaksanaan tidak tepat, pengawasan tidak ketat.


http://teknikkepemimpinan.blogspot.com/2013/03/model-pengambilan-keputusan.html

Senin, 07 April 2014

PENGUJIAN DAN IMPLEMENTASI WIRELESS SENSOR NETWORK

Desain Pengujian
Pengujian dilakukan pada 3 buah komputer dengan susunan sbb :

HOST A :
Merupakan Wireless Sensor yang membaca data analog dan mengirimkan data pada HOST B.
HOST B :
Menerima data dari HOST A dan memberikan datanya pada HOST C dengan protokol yang berbeda.
HOST C :
Menerima data dari HOST B dan menuliskannya pada database.

Pemrograman
Beberapa bahasa pemrograman yang digunakan untuk pengujian ini diantaranya adalah Dynamic C dan Perl. Dynamic C digunakan untuk memprogram microcontroller dan Perl digunakan sebagai bahasa pemprograman yang digunakan untuk menerima data dari microcontroller, mengirim data pada concentrator database server dengan protokol SOAP, dan menampilkannya dalam bentuk tampilan grafik. Sementara untuk menerima data dengan protokol SOAP dan menuliskannya pada database, digunakan bahasa pemrograman PHP.
Dynamic C adalah sebuah bahasa pemprograman yang dibuat oleh Rabbit , inc yang khusus digunakan untuk memprogram microcontroller RCM 3700. Dynamic C ini dilengkapi beberapa library dan dilengkapi sebuah IDE (integrated development environment) sehingga coding, debugging, compiling, flashing, dan downloading sebuah microcontroller RCM 3700 dapat dilakukan cukup pada sebuah software saja.
Pada dasarnya, garis besar program yang dibuat adalah sebagai berikut :
1. Menerima data masukkan dari input analog
Kode yang digunakan :
float read_analog_input ()
{
dataRaw = anaIn(inputnum, SINGLE, GAINSET);
return (dataRaw*20/2048) ;
}


2. Secara aktif membuka koneksi soket ke komputer penerima data (tidak harus merupakan sebuah database server)
Kode yang digunakan :
if (!tcp_open(&my_socket, 0, host, port, NULL))
{
printf("Failed to open\n");
return -1 ;
}
else while (!sock_established(&my_socket))
{
if(!tcp_tick(&my_socket))
{
printf("Failed to Establish\n"); break ;
}
}


3. Secara aktif mengirimkan data hasil pembacaan input analog yang telah dikonversi menjadi besaran biner kepada komputer penerima melalui soket TCP/IP yang sama dengan nomor 2.
Kode yang digunakan :
if(sock_established(&my_socket))
{
char * buff;
sprintf(buff,"%d",mesg);
if((sock_write(&my_socket, buff, sizeof(buff)))< 0 )
{
printf("Error Sending Data...");
return -1 ;
}
sock_close(&my_socket);
return 1 ; //return ok
}

4. Menampilkan pesan error ketika pembukaan socket tidak berhasil dilakukan, atau pengiriman data tidak berhasil, atau ketika pembacaan analog input gagal dilakukan.

Perl adalah bahasa scripting yang secara resmi keluar pada tahun 1987. Kode perl tidak perlu dicompile agar bisa dijalankan, itulah mengapa perl disebut bahasa scripting, bukan bahasa pemrograman. Dokumentasi dan informasi mengenai perl dapat diperoleh dari http://www.perl.org/ .
Pada Dasarnya, program perl yang dibuat pada pengujian ini mempunyai garis besar perilaku sbb :
Pada Host Penerima (HOST B) :
1. Secara Pasif membuka dan me-Listen socket TCP/IP pada port tertentu.
Kode yang digunakan :
my $sock = IO::Socket::INET->new(
LocalHost => $host,
LocalPort => $port,
Proto => 'tcp',
Listen =>1,
ReuseAddr => 1
);

2. Secara Pasif menerima input data dari koneksi socket TCP/IP dari komputer pengirim, kemudian mengirimkannya pada database server menggunakan protokol SOAP secara aktif.
Kode yang digunakan :
while(1) {
my $sockAccept = $sock->accept();
while ($pesan = <$sockAccept>)
{
$rrd -> update (temp => $pesan);
# updating database MS SQL melalui web services
my $soapRes = $soap->insertData($pesan);
unless ($soapRes->fault)
{
print "$pesan berhasil ditulis" ;
}
else
{
print join ', ',
$soapRes->faultcode,
$soapRes->faultstring,
$soapRes->faultdetail;
}

}
}


3. Menuliskan data pada sebuah grafik PNG sehingga terlihat grafik besaran suhu vs waktu.
Kode yang digunakan :
while(1) {
$rrd -> graph(
destination => "/var/www/netmon.tf.itb.ac.id",
basename => "temperature",
timestamp => "both",
periods => [qw(hour)],
sources => [qw(temp)],
source_colors => [qw(ff0000)],
source_labels => [("Temperatur")],
source_drawtypes => [qw(AREA)],
line_thickness => 2,
extended_legend => 1,
title => "Water Temperature",
vertical_label => "Kelvin",
interlaced => ""
);
print "graph updated\n";
# wait for 200 seconds
sleep(200);
}

Php adalah bahasa pemrograman web / scripting web yang sangat terkenal. Secara umum, program php yang dibuat mempunyai behaviour sbb :
Pada Host Database server (HOST C) :
1. Secara Pasif menerima input data dari HOST B dengan metode SOAP.
Kode yang digunakan :
require_once('lib/nusoap.php');

$server = new soap_server;

$server->register('insertData');
……..

$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);

?>

2. Menuliskan data pada database server. Software Database Server yang digunakan adalah MySQL
Kode yang digunakan :
function insertData($temperature)
{
$timeStamp = date('Y-m-d H-i-s');
mysql_connect('localhost','username','password') or die(mysql_error());
mysql_select_db('coba') or die(mysql_error());
mysql_query('INSERT INTO test VALUES ("'.$timeStamp.'","'.$temperature.'")') or die(mysql_error());
return 'berhasil'.$temperature ;
}


Keseluruhan Kode yang dibuat adalah sbb :
Kode Dynamic C yang dibuat :
#define RCM3700_PROTOBOARD
#define TCPCONFIG 9
#use "dcrtcp.lib"
#define ADDRESS "167.205.44.10"
#define PORT "8989"
#define inputnum 0
#define GAINSET GAIN_1

int send_packet(char * mesg)
{
tcp_Socket my_socket ;
word status ;
word port ;
longword host ;
if(!(host=resolve(ADDRESS)))
{
printf("Could not resolve host\n");
return -1;
}
port = atoi (PORT);
sock_init();
if (!tcp_open(&my_socket, 0, host, port, NULL))
{
printf("Failed to open\n");
return -1 ;
}
else while (!sock_established(&my_socket))
{
if(!tcp_tick(&my_socket))
{
printf("Failed to Establish\n"); break ;
}
}
if(sock_established(&my_socket))
{
char * buff;
sprintf(buff,"%d",mesg);
if((sock_write(&my_socket, buff, sizeof(buff)))< 0 )
{
printf("Error Sending Data...");
return -1 ;
}
sock_close(&my_socket);
return 1 ; //return ok
}
}
float read_analog_input ()
{
dataRaw = anaIn(inputnum, SINGLE, GAINSET);
return (dataRaw*20/2048) ;
}
main()
{
float dataInputFlt ;
char [8] dataInputStr ;
while(1)
{
costate
{
dataInputFlt = read_analog_input();
sprintf(dataInputStr,"%d", dataInputFlt);
//send_packet(&dataInputStr);
}
}
}

Kode Perl pada komputer penerima data (HOST B) yang dibuat :
#!/usr/local/bin/perl -w
# program untuk membuat daemon sederhana yang melisten di port 8989
# input program : data stream dari microcontroller
# output program : file rrd
# ditambahkan fungsi untuk mengupdate database melalui webservice
# load required modules

use strict;
use POSIX qw(setsid);
use LWP::Simple;
use RRD::Simple ();
use IO::Socket ;
use SOAP::Lite ;

# set costants

my $host = '167.205.44.10';
my $port = '8989';
my $png = '/var/www/netmon.tf.itb.ac.id';
my $rrdfile = '/var/tmp/temperature.rrd';
my $log = '/var/tmp/coba.log';
my $soap = SOAP::Lite
-> uri('http://netmon.tf.itb.ac.id/coba/server.php')
-> proxy('http://netmon.tf.itb.ac.id/coba/server.php');

# flush the buffer
$| = 1;

# daemonize the program
&daemonize;

# rrd initialization
my $rrd = RRD::Simple->new (file => "$rrdfile");

$rrd -> create ($rrdfile, temp => "GAUGE");

# creating listen socket
my $sock = IO::Socket::INET->new(
LocalHost => $host,
LocalPort => $port,
Proto => 'udp',
Listen =>1,
ReuseAddr => 1
);
die "socket listening failed" unless $sock ;
my $pesan ;
# our daemon process
while(1) {
my $sockAccept = $sock->accept();
while ($pesan = <$sockAccept>)
{
$rrd -> update (temp => $pesan);
# updating database MS SQL melalui web services
my $soapRes = $soap->insertData($pesan);
unless ($soapRes->fault)
{
print "$pesan berhasil ditulis" ;
}
else
{
print join ', ',
$soapRes->faultcode,
$soapRes->faultstring,
$soapRes->faultdetail;
}

}
}

sub daemonize {
chdir "/var/tmp" or die "Can't chdir to /: $!";
open STDIN, '/dev/null' or die "Can't read /dev/null: $!";
open STDOUT, ">>$log" or die "Can't write to $log: $!";
open STDERR, ">>$log" or die "Can't write to $log: $!";
defined(my $pid = fork) or die "Can't fork: $!";
exit if $pid;
setsid or die "Can't start a new session: $!";
umask 0;
}

Kode PHP untuk menulis ke database pada HOST C yang dibuat :
require_once('lib/nusoap.php');

$server = new soap_server;
// Register the method to expose

$server->register('insertData');
// Define the method as a PHP function

function insertData($temperature)
{
$timeStamp = date('Y-m-d H-i-s');
mysql_connect('localhost','username','password') or die(mysql_error());
mysql_select_db('coba') or die(mysql_error());
mysql_query('INSERT INTO test VALUES ("'.$timeStamp.'","'.$temperature.'")') or die(mysql_error());
return 'berhasil'.$temperature ;
}
// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) ? $HTTP_RAW_POST_DATA : '';
$server->service($HTTP_RAW_POST_DATA);

?>

http://wsnsistel.blogspot.com/2009/05/pengujian-dan-implementasi-wireless.html

Referensi di Perl

Saat ini Anda sudah mengenal tiga jenis tipe variabel di Perl, yaitu skalar, array, dan hash. Namun Perl juga mengenal suatu tipe skalar yang khusus yang dinamakan dengan referensi. Jika suatu variabel menampung suatu nilai, maka referensi berisi alamat atau penunjuk ke suatu nilai. Jika dianalogikan dengan sebuah buku, variabel berisi nilai seperti sebuah halaman buku berisi informasi di dalamnya, sedangkan referensi merupakan petunjuk, seperti sebuah halaman buku yang hanya berisi “lihat halaman 2706”.
Tapi apa gunanya referensi? Berguna sekali. Di Perl, kita tidak bisa membentuk struktur data rumit tanpa adanya referensi. Saya akan membahas referensi untuk struktur data yang rumit di edisi yang lain, untuk saat ini saya hanya akan menunjukkan apa itu referensi dan kegunaannya dalam subrutin yang memerlukan pass by reference.
Anda akan lebih mudah memahami referensi dari contoh:
$nama = "feynman";
$n = \$nama;
print $n;
Hasil program di atas, mungkin seperti ini:
SCALAR(0x8104b8c)
Angka di dalam kurung tidak selalu sama, tergantung lokasi memori variabel $nama di proses program Perl. Variabel $n berisi alamat (dan tipe) dari variabel $nama. Operator untuk mengambil alamat suatu variabel adalah \ (backslash). Untuk mengakses nilai yang ditunjuk oleh $nama, kita melakukannya dengan:
print ${$n};
atau bisa juga dengan:
print $$n;
Jika kita mengubah nilai $$n, ternyata kita juga mengubah nilai $nama, contoh:
$nama = "feynman";
$n = \$nama;
print "Sebelum: ${$n}\n";
$$n="richard";
print "Sesudah: $nama\n";
potongan kode di atas akan mencetak tulisan:
Sebelum: feynman
Sesudah: richard
Kenapa itu bisa terjadi? Akan saya coba jelaskan dengan menggunakan analogi buku tadi. Jika Anda hanya memberikan salinan variabel seperti ini:
$a = 1982;
$b = $a;
maka $b akan berisi nilai $a, sama seperti Anda memberikan salinan sebuah halaman buku ke seseorang. Maka jika Anda mengubah nilai $b, seperti ini:
$b = 1980;
nilai $a tetap 1982, karena yang diubah adalah salinan variabel (seperti jika salinan halaman buku itu diubah, halaman aslinya tidak akan berubah). Tapi jika yang diberikan ke orang lain adalah petunjuk di mana informasi tersebut berada (referensi), misalnya halaman 1705, maka orang yang diberi informasi bisa mengubah isi halaman buku tersebut karena tahu letaknya.
Referensi tidak hanya menunjuk ke variabel skalar, tapi juga ke variabel array atau hash. Untuk array, Anda bisa melakukan ini:
@superhero = ("spiderman", "superman", "batman");
$super = \@superhero;
Jika Anda hanya perlu referensi ke suatu array, Anda tidak perlu membuat dulu variabel arraynya, Anda bisa menggunakan notasi [ isi list ] jadi yang di atas bisa disingkat menjadi:
$super = ["spiderman", "superman", "batman"];
untuk mengakses nilai array tersebut, Anda bisa melakukannya seperti ini:
@hero = @$super;
untuk mengakses elemennya, Anda bisa menggunakan salah satu cara ini:
$spiderman = ${$super}[0];
$superman = $super->[1];
Kita lewatkan dulu pembahasan mengenai array dua dimensi untuk edisi ini. Dan mari melangkah ke hash. Anda bisa melakukan hal yang sama terhadap hash, seperti yang Anda lakukan terhadap array. Bedanya adalah kalau untuk array kita memakai operator [...], maka untuk membuat referensi ke hash tidak bernama (anonim), Anda melakukannya dengan notasi {...} seperti ini:
$warna = {
    "bunga" => "merah",
    "bola"  => "putih"
};
Dan tentunya referensi ke hash diakses dengan:
%lili = %{$bcd};
Dan bahkan referensi ke suatu subrutin dapat dibuat, seperti ini:
sub test {
    print "test";
}
$a = \&test;
untuk memanggil subrutin tersebut:
&$a();
Pass by Value dan Pass by Reference
Anda sudah belajar bahwa di Perl, parameter untuk suatu subrutin diakses dengan array @_. Namun di edisi yang lalu saya hanya memberi contoh jika parameter yang dilewatkan ke subrutin adalah nilai skalar. Jika nilai yang dilewatkan adalah list atau hash, hasilnya mungkin tidak akan seperti yang Anda harapkan, lihat contoh ini:
sub hello {
    my ($greet, $name) = @_;
    print "Selamat $greet, $name\n";
}
hello("Pagi", "Donna");
@l = ("Malam", "Lala");
hello(@l);
hello("Siang", @l);
$waktukerja{"yuni"}="malam";
hello(%waktukerja);
Output program tersebut adalah:
Selamat Pagi, Donna
Selamat Malam, Lala
Selamat Siang, Malam
Selamat yuni, malam
Seperti yang Anda lihat, Perl akan “mendangkalkan” list ketika dilewatkan ke suatu subrutin.
@l=("romeo”, ”juliet");
hello(@l);
sama saja dengan
hello($l[0], $l[1]);
Semua parameter akan diberikan ke @_ secara berurutan. Hal ini berlaku baik untuk hash, array, skalar, ataupun gabungan dari semua itu. Lalu masalahnya? Masalahnya adalah Anda tidak bisa memberikan array atau hash ke suatu subrutin dalam bentuk yang sebenarnya.
Perl hanya mendukung parameter subrutin berupa skalar, namun seperti yang kita ketahui, ada suatu tipe skalar khusus yang disebut referensi, kita bisa menggunakan sifat referensi untuk membuat subrutin yang bisa mengakses dan memodifikasi array atau hash yang kita berikan. Cara melewatkan parameter seperti itu (memakai referensi) disebut pass by reference, sedangkan jika yang dilewatkan hanya nilainya maka disebut pass by value.
Lihat contoh ini:
sub add_me {
    my ($arr) = @_;
    push @$arr, "me";
}
@a = qw(joe nitnotz);
add_me(\@a);
print join(" ", @a);
Subrutin add_me akan menambahkan elemen “me” ke array, sehingga output program adalah:
joe nitnotz me
Jika Anda membuka kembali tutorial bagian 2, Anda akan mendapati bagaimana cara mendapatkan daftar user di Unix. Sebagai latihan Anda bisa memanfaatkan kode itu untuk membuat subrutin yang akan mengisikan daftar user yang ada pada sistem ke sebuah list. Sehingga Anda bisa melakukan seperti ini:
get_user_list(\@users);
foreach (@users) {
    #lakukan sesuatu di sini
}
Subrutin semacam itu bisa Anda pakai di berbagai program yang berhubungan dengan administrasi sistem.

http://www.master.web.id/mwmag/issue/06/content/tutorial-perl-5/tutorial-perl-5.html

Konsep Siklus Hidup Produk (Product Life Cycle – PLC)


Dalam menentukan strategi pemasaran terhadap suatu produk, maka perlu dianalisis mengenai siklus hidup produk (Product Life Cycle – PLC) dari produk sejenis yang dibuat, hal ini disebabkan karena :
1.      Produk, pasar (permintaan konsumen), dan pesaing akan berubah sepanjang siklus hidup produk.
2.      Produk memiliki umur yang terbatas.
3.      Penjualan produk akan melalui berbagai tahap yang khas, dan masing-masing memberikan tantangan, peluang, dan masalah yang berbeda bagi penjualnya.
4.      Laba akan naik dan turun pada berbagai tahap yang berbeda selama siklus hidup produk.
5.      Produk memerlukan strategi pemasaran, keuangan, manufaktur, pembelian, dan sumber daya manusia yang berbeda dalam tiap tahap siklusnya.

Kebanyakan kurva siklus hidup produk digambarkan berbentuk lonceng, dimana  kurva tersebut umumnya terbagi menjadi empat tahap sebagai berikut :
1.  Tahap perkenalan (introduction)
Merupakan periode pertumbuhan penjualan yang lambat saat produk itu diperkenalkan ke pasar. Pada tahap ini tidak ada laba karena besarnya biaya-biaya untuk memperkenalkan produk.
2.  Tahap pertumbuhan (growth)
Merupakan periode penerimaan pasar yang cepat dan peningkatan laba yang besar.
3.  Tahap kematangan (maturity)
Merupakan periode penurunan pertumbuhan penjualan karena produk itu telah diterima oleh sebagian besar calon pembeli. Laba akan stabil atau menurun karena persaingan yang meningkat.
4.  Tahap penurunan (decline)
Merupakan periode saat penjualan menunjukkan arah yang menurun dan laba yang menipis.

Terkait dengan siklus hidup produk, beberapa strategi yang umumnya diterapkan pada masing-masing tahapan yaitu:

1.      Produk yang baru diperkenalkan di pasar (introduction), strateginya:
-  Berusaha selalu memperbaiki penampilan produknya.
-  Menyebarkan barang sebanyak-banyaknya ke seluruh toko.
-  Melakukan sell out.

2.      Produk yang sudah dikenal (growth), strateginya:
      - Berusaha terus mencari segmen baru, menambah jumlah tenaga penjual,  menambah armada pengangkutan.
      -   Selalu memperbaiki mutu produk
      -  Mempertimbangkan strategi menurunkan harga untuk barang-barang yang harganya tinggi.

3.   Pasar yang sudah matang/ jenuh (masa maturity), strateginya:
-  Berusaha mencari segmen-segmen kecil yang belum terisi.
-  Menciptakan produk dengan kemasan besar.
-  Memperbaiki penampilan produk dengan sesuatu yang baru.

4.  Jika strategi ini tidak berhasil, maka akan timbul masa penurunan (decline). Strategi yang diterapkan:
-  Jika gejala sudah parah, anggaran promosi harus dihentikan
-  Pusatkan perhatian pada pasar yang masih ada harapan, untuk pasar yang lain dihentikan.
- Menghentikan pemasaran produk secara menyeluruh dan menciptakan produk .

http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=Konsep+Siklus+Hidup+Produk+%28Product+Life+Cycle+%E2%80%93+PLC%29

Program Batch File Membuat Direktori.


Batch file adalah sekumpulan instruksi/perintah DOS yang diracik menjadi satu bagian sehingga menjadi sebuah program. Dan untuk membuat program sederhana dari batch file tidak terlalu sulit karena pemrograman dari batch file ini bersifat sederhana dan mudah di pelajari di banding dengan bahasa pemrograman lainnya, seperti java, c, c++, pascal, php dan lainnya.
Kali ini penulis ingin sedikit berbagi source program batch file, yaitu program untuk membuat direktori dan untuk membuatnya silahkan copas pada notepad atau ketik jika tidak malas karena scriptnya tidak banyak dan simpan file tadi dengan format .bat.

@echo off
:awal
echo Membuat direktori
echo ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
set /P nama= Masukkan nama folder/direktori :
:desktop
echo.
echo berhasil membuat direktori di desktop dengan nama "%nama%"
md "%nama%"
goto :pilih
:pilih
set /P pilihan= buat lagi(b) atau keluar(k) ? : 
cls
if /I "%pilihan%"=="b" GOTO :awal
if /I "%pilihan%"=="k" GOTO :keluar
echo.
:keluar
exit

http://kemajuan-diri.blogspot.com/2011/12/program-batch-file-membuat-direktori.html

Peran MIS dalam Meningkatkan pengambilan keputusan


Preliminarily, manyatakan, pengambilan keputusan merupakan bagian integral dari setiap bisnis (The maniak, nd). Hal ini karena mayoritas operasi dalam suatu organisasi berkisar sekitar keputusan yang dibuat oleh manajemen dan pemangku kepentingan lainnya dalam organisasi. Dan agar keputusan yang akan dibuat memadai, untuk itu sangat penting sistem informasi yang baik karena keputusan didasarkan pada informasi yang tersedia.

Dalam hubungan ini, Jahangir (2005) menyatakan bahwa berdasarkan peran Informasi yang signifikan sangat penting dalam pengambilan keputusan yang akan dibuat, organisasi harus memastikan bahwa mereka memiliki sistem informasi manajemen yang baik.

Sebagai pertimbangan utama, Sistem Informasi Manajemen sangat kompleks dan halus, yang membutuhkan ketelitian dalam pengambilan keputusan yang harus diambil oleh manajer. Hal ini menjadi alasan bahwa suatu organisasi untuk dapat memastikan bahwa telah memilih individu yang tepat untuk mengontrol sistem informasi. Orang yang  berhati-hati dan profesional adalah,  orang yang dapat menjamin prospek positif dalam SIM berkaitan dengan pengambilan keputusan dan lain yang terkait di bidang bisnis (Lingham, 2006).

Beberapa argumen ilmiah, fakta, pendapat dan pengamatan yang dilakukan oleh berbagai makro ekonomi berkaitan dengan peran Sistem Informasi manajemen dalam meningkatkan pengambilan keputusan, sebagai berikut:
http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=Peran+MIS+dalam+Meningkatkan+pengambilan+keputusan
SIM menyediakan platform yang cocok untuk pengambilan keputusan yang baik (Kumar, 2006). Pada dasarnya, tanpa system informasi yang untuk mendapatkan informasi, akan sangat sulit bagi organisasi untuk membuat suatu keputusan.

Selain itu, hal ini sangat penting karena membantu dalam menjaga bisnis, sehingga memastikan bahwa hanya keputusan yang telah terbukti yang digunakan, sementara yang belum dicoba adalah akan digagalkan. Lebih penting lagi, kapasitas untuk memandu pengambilan keputusan memfasilitasi kemajuan dan peningkatan operasi di sebuah perusahaan (Lingham, 2006; Chambers, 1964, hal.15-20).

Penting bagi perusahaan dalam generasi modern, di mana setiap kesalahan kecil dalam pengambilan keputusan dapat menyebabkan kerugian yang sangat besar (Allen, et al., 2010).

Dengan pemrograman Sistem Informasi Manajemen yang rutin, bisnis pasti akan membuat kemajuan positif dan sumber daya dapat dengan mudah disalurkan ke jalur bisnis yang sah (Allen, et al., 2010).

Sebagai titik fundamental, SIM yang digunakan saat ini dapat melakukan banyak tugas pada waktu yang sama. Ini potensi untuk multitask meningkatkan efisiensi dalam suatu perusahaan karena beberapa operasi bisnis dapat dilakukan secara bersamaan. Dengan hal khusus pengambilan keputusan, kemampuan untuk multitask memastikan bahwa keputusan dibuat cepat bila dibandingkan dengan sistem yang hanya dapat menangani satu tugas pada satu waktu.

Erat terkait dengan titik di atas, Jahangir (2005) mengatakan bahwa SIM memungkinkan beberapa pengguna untuk mengakses konten yang sama pada waktu yang sama tanpa ada perbedaan. Potensi ini meningkatkan akuntabilitas dari pelaku usaha karena beberapa orang dapat mengakses dan memverifikasi apakah SIM tersebut konsisten atau tidak.

Dalam berkontribusi terhadap argumen mengenai peran SIM dalam meningkatkan pengambilan keputusan, Rhodes (2010) juga menambahkan bahwa: Sistem Informasi Manajemen memberikan manajer akses cepat ke informasi. Ini bisa termasuk interaksi dengan sistem pendukung keputusan lainnya, permintaan informasi, cross- referensi dari informasi eksternal dan potensi data teknik pertambangan. Sistem ini juga dapat membandingkan tujuan strategis dengan keputusan praktis, sehingga manajer dapat mengambil suatu keputusan yang sesuai dengan strategi organisasi. Singkatnya, Rhodes hanya percaya bahwa sistem informasi manajemen adalah suatu faktor dalam mendapatkan informasi yang layak bagi organisasi.

Akhirnya, Sistem Informasi Manajemen memainkan peran penting dalam menyediakan berbagai pilihan efisien dari para pengambil keputusan agar mampu membuat pilihan-pilihan yang mereka sukai, Vittal & Shivraj (2008, p.359-361). Vital, ini memastikan bahwa apapun pilihan yang dibuat oleh pengambil keputusan, hasilnya, lebih sering positif dari pada tidak.

Sebenarnya, adalah alasan mengapa banyak pembuat keputusan cenderung lebih suka menggunakan SIM ketika menemui keputusan-keputusan yang sulit untuk diambil. Dan sebagai konsep memiliki pilihan keputusan yang layak untuk diputuskan dalam bisnis (Vittal & Shivraj, 2008, hal.360-365, Jawadekar, 2006, p.356-359).

 http://www.google.com/search?ie=UTF-8&oe=UTF-8&sourceid=navclient&gfns=1&q=Peran+MIS+dalam+Meningkatkan+pengambilan+keputusan