YES,I AM

YES,I AM

Senin, 15 Mei 2017

Membangun Aplikasi Client-Server TCP Sederhana

listing program server :

import java.io.*;
import java.net.*;
public class simpleServer {
public final static int TESTPORT = 5000;
public static void main(String args[]) {
ServerSocket checkServer = null;
String line;
BufferedReader is = null;
DataOutputStream os = null;
Socket clientSocket = null;
try {
checkServer = new ServerSocket(TESTPORT);
System.out.println("Aplikasi Server hidup ...");
} catch (IOException e) {
System.out.println(e);
}
try {
clientSocket = checkServer.accept();
is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
os = new DataOutputStream(clientSocket.getOutputStream());
} catch (Exception ei) {
ei.printStackTrace();
}
try {
line = is.readLine();
System.out.println("Terima : " + line);
if (line.compareTo("salam") == 0) {
os.writeBytes("salam juga");
} else {
os.writeBytes("Maaf, saya tidak mengerti");
}
} catch (IOException e) {
System.out.println(e);
}

try {
os.close();
is.close();
clientSocket.close();
} catch (IOException ic) {
ic.printStackTrace();
}
}
}


simpleClient.java:


import java.io.*;
import java.net.*;
public class simpleClient {
public final static int REMOTE_PORT = 5000;
public static void main(String args[]) throws Exception {
Socket cl = null;
BufferedReader is = null;
DataOutputStream os = null;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
String userInput = null;
String output = null;
// Membuka koneksi ke server pada port REMOTE_PORT
try {
cl = new Socket(args[0], REMOTE_PORT);
is = new BufferedReader(new
InputStreamReader(cl.getInputStream()));
os = new DataOutputStream(cl.getOutputStream());
} catch(UnknownHostException e1) {
System.out.println("Unknown Host: " + e1);
} catch (IOException e2) {
System.out.println("Erorr io: " + e2);
}
// Menulis ke server
try {
System.out.print("Masukkan kata kunci: ");
userInput = stdin.readLine();
os.writeBytes(userInput + "\n");
} catch (IOException ex) {
System.out.println("Error writing to server..." + ex);
}
// Menerima tanggapan dari server
try {
output = is.readLine();
System.out.println("Dari server: " + output);
} catch (IOException e) {
e.printStackTrace();
}
// close input stream, output stream dan koneksi
try {
is.close();
os.close();
cl.close();
} catch (IOException x) {
System.out.println("Error writing...." + x);
}
}
}


 Penjelasan coding
  
Program SERVER :


ServerSocket checkServer = null;
String line;
BufferedReader is = null;
DataOutputStream os = null;
Socket clientSocket = null;
  
pada coding diatas merupkan seuatu metod dalam java jaringan.

try {
checkServer = new ServerSocket(TESTPORT);
System.out.println("Aplikasi Server hidup ...");
} catch (IOException e) {
System.out.println(e);
}

pada coding diatas digunakan untuk menentukan port yang akan dikoneksi dengan client.

try {
clientSocket = checkServer.accept();
is = new BufferedReader(new
InputStreamReader(clientSocket.getInputStream()));
os = new DataOutputStream(clientSocket.getOutputStream());
} catch (Exception ei) {
ei.printStackTrace();
}

Pada coding diatas digunakan untuk menentukan soket yang akan dikonkesi ke dalam client.

try {
line = is.readLine();
System.out.println("Terima : " + line);
if (line.compareTo("salam") == 0) {
os.writeBytes("salam juga");
} else {
os.writeBytes("Maaf, saya tidak mengerti");
}
} catch (IOException e) {
System.out.println(e);
}

 coding diatas digunakan untuk menbaca client. 

try {
os.close();
is.close();
clientSocket.close();
} catch (IOException ic) {
ic.printStackTrace();
}
}
 coding diatas digunakan untuk menutup  program server 

Program CLIENT :

Socket cl = null;
BufferedReader is = null;
DataOutputStream os = null;
BufferedReader stdin = new BufferedReader(new
InputStreamReader(System.in));
String userInput = null;
String output = null;

 coding diatas merupakan method dalam java jaringan client server.

try {
cl = new Socket(args[0], REMOTE_PORT);
is = new BufferedReader(new
InputStreamReader(cl.getInputStream()));
os = new DataOutputStream(cl.getOutputStream());
} catch(UnknownHostException e1) {
System.out.println("Unknown Host: " + e1);
} catch (IOException e2) {
System.out.println("Erorr io: " + e2);
}

   coding diatas digunakan untuk menremot client ke server.

try {
output = is.readLine();
System.out.println("Dari server: " + output);
} catch (IOException e) {
e.printStackTrace();
}

 codign diatas untuk membaca dan menulis perintah ke server.


try {
is.close();
os.close();
cl.close();
} catch (IOException x) {
System.out.println("Error writing...." + x);
}
}
}

 coding diatas digunakan untuk menutup program aplikasi tersebut.

PEMROGRAMAN JARINGAN NSLOOKUP

pada kesempatan kali ini saya akan menjelaskan listing program nslookup. berikut ini listingn ya :

import java.net.*;
public class NsLookup {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian: java NsLookup <hostname>");
System.exit(0);
}
String host = args[0];
InetAddress address = null;
try {
address = InetAddress.getByName(host);
} catch(UnknownHostException e) {
System.out.println("Unknown host");
System.exit(0);
}
byte[] ip = address.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) System.out.print(".");
System.out.print((ip[i]) & 0xff);
}
System.out.println();
}
}

berikut ini logika program :

if (args.length == 0) {
System.out.println("Pemakaian: java NsLookup <hostname>");
System.exit(0);
   
      pada coding diatas digunakan untuk mencetak statement java ns lookup jika panjang argsnya sama dengan 0. kemudian sistem berhenti.

String host = args[0];
InetAddress address = null;
try {
address = InetAddress.getByName(host);
} catch(UnknownHostException e) {
System.out.println("Unknown host");
System.exit(0);
       
       pada coding diatas digunakan untuk menentukan InetAddress yang mana akan menentukan jenis hostnya.

byte[] ip = address.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) System.out.print(".");
System.out.print((ip[i]) & 0xff);

     pada coding ini digunakan untuk menentukan byte ip di komputer tersebut. dengan menggunakan pengulanagan for dan percabangan if untuk mendapat alamat ipnya.

PEMROGRAMAN JARINGAN IP TO NAME

Tugas ke-3 kali ini saya akan membahas tentang iptoname pada java. Dibawah ini merupakan coding yang digunakanc ;

import java.net.*;
public class IPtoName {
public static void main(String args[]) {
if (args.length == 0) {
System.out.println("Pemakaian: java IPtoName <IP address>");
System.exit(0);
}
String host = args[0];
InetAddress address = null;
try {
address = InetAddress.getByName(host);
} catch (UnknownHostException e) {
System.out.println("invalid IP - malformed IP");
System.exit(0);
}
System.out.println(address.getHostName());
}
}

Penjelasan coding diatas ;

if (args.length == 0) {
System.out.println("Pemakaian: java IPtoName <IP address>");
System.exit(0);
}
 pada coding diatas menggunakan percabangan if. Perintah dari coding di atas yaitu jika panjang sama dengan 0 maka akan tercetak statement yang berada dalam tanda kurung tersebut dan kemudian program berhenti.

String host = args[0];
InetAddress address = null;
try {
address = InetAddress.getByName(host);
} catch (UnknownHostException e) {
System.out.println("invalid IP - malformed IP");
System.exit(0);
}
System.out.println(address.getHostName());
}
}

jika string hostnya bernilai 0 maka akan masuk ke pengulangan java yang mana ip dalam komputer tersebut tidak valid. 


PEMROGRAMAN JARINGAN GET NAME

Pada materi sebelumnya saya membahas tentang get ip, untuk pertemuan kali ini saya akan menjelaskna tentang coding get name. berikut ini contoh codingnya :

import java.net.
public class getName {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
System.out.println("Nama komputer Anda: " +
host.getHostName());
}
}

Dibawah ini saya akan menjelaskan tentang logika program di atas ;

InetAddress host = null;
host = InetAddress.getLocalHost();
System.out.println("Nama komputer Anda: " +
host.getHostName());

pada coding diatas digunakan untuk mengetahui nama komputer yang kita gunakan. Secara otomatis program akan mencari tau nama komputer yang kita gunan. System.out.println digunakan untuk mencetak data pada ine berikutnya.
x

PEMROGRAMAN JARINGAN GET IP .JAVA

Pada kesempatan kali ini saya akan menjelaskan tentang listing program get ip, sebagai tugas matakuliah pemrograman jaringan.

Berikut ini listingnya :

import java.net.*;
public class getIP {
public static void main(String args[]) throws Exception {
InetAddress host = null;
host = InetAddress.getLocalHost();
byte ip[] = host.getAddress();
for (int i=0; i<ip.length; i++) {
if (i > 0) {
System.out.print(".");
}
System.out.print(ip[i] & 0xff);
}
System.out.println();
}
}

Logika program :

import java.net.*;
        coding diatas merupakan paket dalam pembuatan program jaringan.

public class getIP {
public static void main(String args[]) throws Exception {
        coding diatas digunakan untuk menentukan class dari seluruh program tersebut. dan dibawahnya merupakan metod dalam java.

host = InetAddress.getLocalHost();
byte ip[] = host.getAddress();
       coding diatas digunakan untuk mendapatkan ip secara langsung yang berada di dalam komputer.

for (int i=0; i<ip.length; i++) {
if (i > 0) {
System.out.print(".");
}
System.out.print(ip[i] & 0xff);
}
System.out.println();
}
      coding diatas merupakan bentuk percabangan dari program tersebut, yang mana jika data lebih dari 0, maka pemisah menggunakan titik namun jika tidak seperti dibawahnya.

Sekian penjelasan coding pada tugas pertama ini, 

Sabtu, 22 April 2017

MOBILE COMPUTING DAN QUANTUM COMPUTATION

Pada kesempatan kali ini saya akan menjelaskan tentang mobile computing dan quantum computation.
Penjelasan kali ini meliputi pengertian dan bagian bagian dari mobile computing dan quantum computation.
Berikut ini pembahasan dari kedua materi tesebut;


A.      Mobile Computing

Dalam istilah umunya bias disebut sebagai komputasi bergerak. Apa Maksud dari komputasi bergerak? . Komputasi bergerak yaitu  seperangkat benda atau teknologi yang memiliki teknologi secanggih yang sering disebut sebagai mobile computer (portable computer) dan mampu melakukan komunikasi dengan jaringan tanpa kabel (nirkabel) walaupun user atau pengguna dari alat tersebut sedang melakukan perpindahan.

Jenis – Jenis dari komputasi bergerak yaitu mobilephone / smartphone, Laptop, dan PDA.

Apa itu PDA, PDA yaitu Alat elektronik berbasis komputer yang bisa dibawa kemana saja. Ciri khas PDA adalah touchscreen. Pada awalnya digunakan untuk mengorganisasi diri sendiri, tetapi seiring berjalannya waktu pengunaan PDA makin banyak, antara lain mengirim e-mail, akses internet, games, penggunaan GPS, rekam video dan jaringan wireless.

PRINSIP MOBILE COMPUTING


  • Portabilitas: Perangkat / node yang terhubung dalam sistem komputasi mobile harus mempermudah mobilitas. Perangkat ini mungkin memiliki kemampuan perangkat terbatas dan catu daya terbatas, namun harus memiliki kemampuan pemrosesan dan portabilitas fisik yang memadai untuk beroperasi di lingkungan yang dapat bergerak.
  • Konektivitas: Ini mendefinisikan kualitas layanan (QoS) dari konektivitas jaringan. Dalam sistem komputasi mobile, ketersediaan jaringan diharapkan dapat dipertahankan pada tingkat tinggi dengan jumlah lag / downtime minimal tanpa dipengaruhi oleh mobilitas simpul yang terhubung.
  • Interaktivitas: Simpul yang tergabung dalam sistem komputasi mobile saling terkait satu sama lain untuk berkomunikasi dan berkolaborasi melalui transaksi data yang aktif.Individualitas: Perangkat portabel atau mobile node yang terhubung ke jaringan seluler sering menunjukkan individu; Sistem komputasi mobile harus dapat mengadopsi teknologi untuk memenuhi kebutuhan individu dan juga untuk mendapatkan informasi kontekstual dari masing-masing node.


KELEBIHAN

Ada beberapa kelebihan dari komputasi bergerak antara lain yaitu :

1.       Cocok untuk daerah yang belum infrastruktur
2.       Dapat memanfaatkan teknologi lain untuk kemudahan pemakai.
3.       Pengaksesan informasi setiap saat dan kapan saja .

KEKURANGAN

Semua hal mempunyai kelebihan dan kekurangan, karena pada kenyataannya tidak ada yang sempurna di dunia ini. Berikut ini kekurangan dari komputasi bergerak ; 

1.    Antar muka menggunakan alat.
2.    Kurangnya Bandwith
3.    Konsumsi Tenaga
4.    Kecelakaan Transmisi

B.      Quantum Computation

Komputer kuantum adalah alat hitung yang menggunakan sebuah fenomena mekanika kuantum, misalnya superposisi dan keterkaitan, untuk melakukan operasi data. Dalam komputasi klasik, jumlah data dihitung dengan bit; dalam komputer kuantum, hal ini dilakukan dengan qubit. Prinsip dasar komputer kuantum adalah bahwa sifat kuantum dari partikel dapat digunakan untuk mewakili data dan struktur data, dan bahwa mekanika kuantum dapat digunakan untuk melakukan operasi dengan data ini. Dalam hal ini untuk mengembangkan komputer dengan sistem kuantum diperlukan suatu logika baru yang sesuai dengan prinsip kuantum.

Ide mengenai komputer kuantum ini berasal dari beberapa fisikawan antara lain Charles H. Bennett dari IBM, Paul A. Benioff dari Argonne National Laboratory, Illinois, David Deutsch dari University of Oxford, dan Richard P. Feynman dari California Institute of Technology (Caltech).

Algoritma pada Quantum Computing

     Para ilmuwan mulai melakukan riset mengenai sistem kuantum tersebut, mereka juga berusaha untuk menemukan logika yang sesuai dengan sistem tersebut. Sampai saat ini telah dikemukaan dua algoritma baru yang bisa digunakan dalam sistem kuantum yaitu algoritma shor dan algoritma grover.

Algoritma Shor

Algoritma Shor adalah contoh lanjutan paradigma dasar (berapa banyak waktu komputasi diperlukan untuk menemukan faktor bilangan bulat n-bit), tapi algoritma ini tampak terisolir dari kebanyakan temuan lain ilmu informasi quantum. Sekilas, itu cuma seperti trik pemrograman cerdik dengan signifikansi fundamental yang kecil. Penampilan tersebut menipu; para periset telah menunjukkan bahwa algoritma Shor bisa ditafsirkan sebagai contoh prosedur untuk menetapkan level energi sistem quantum, sebuah proses yang fundamental. Seiring waktu berjalan dan kita mengisi lebih banyak pada peta, semestinya kian mudah memahami prinsip-prinsip yang mendasari algortima Shor dan algoritma quantum lainnya dan, kita harap, mengembangkan algoritma baru.

Algoritma Grover

Algoritma grover adalah algoritma yang masih ada kaitannya dengan quantum. Algoritma ini diperuntukan dalam pencarian masalah dengan percepatan kuadrat. Dibanding dengan pencarian linear list tak urut, algoritma grover ini sangat baik. Pencarian dengan menggunakan algoritma grover ini dilakukan secara cepat dan tepat dengan probabilitas yang sangat tinggi. Biasanya algoritma ini digunakan dalam memperkirakan pencarian rata-rata atau median dari beberapa bilangan yang ingin ditemukan hasil rata-ratanya. Kemungkinan kegagalan dalam penggunaan algoritma ini dapat dikurangi dengan pemakaian yang berulang pada algoritma.












Sumber :
https://en.wikipedia.org/wiki/Mobile_computing


Jumat, 24 Maret 2017

Electronic Data Interchange dan Cybercrime

A. Electronic data interchange

Definisi :
Electronic Data Interchange (EDI) adalah pertukaran elektronik informasi bisnis menggunakan format standar; proses yang memungkinkan satu perusahaan untuk mengirimkan informasi ke perusahaan lain secara elektronik bukan dengan kertas. badan usaha yang melakukan kegiatan usaha secara elektronik disebut mitra dagang.



Keuntungan :

1.Removes kembali keying dokumen.
EDI membantu menghilangkan kunci manual dokumen bisnis utama seperti Faktur, Pesanan, Ucapan Terima Kasih dan Dispatch Catatan. Akibatnya perusahaan akan sangat diuntungkan oleh itu dalam hal biaya tenaga kerja berkurang, pengecualian kesalahan keying manusia, pengolahan dokumen cepat, pengambilan dokumen sesaat dan tidak bergantung pada layanan pos.

 2.Eliminates penggunaan kertas.
Electronic Data Interchange membantu menghilangkan penggunaan kertas dalam hubungan perdagangan. Hal ini menyebabkan banyak keuntungan bagi perusahaan yang menggunakan EDI. Ini adalah printer dan biaya konsumsi alat tulis, biaya yang dikeluarkan dalam dokumen menyimpan, mengurangi kemungkinan kehilangan dokumen dan biaya ongkos kirim.

 3. Membantu mengurangi lead time.
Pengiriman dokumen perdagangan elektronik cukup cepat dibandingkan dengan rekan-rekan kertas mereka. Hal ini mengurangi waktu turnaround yang dimulai dari urutan sampai waktu pengiriman dibuat.

4.Improves hubungan perdagangan
Pencetakan dan membaca dokumen perdagangan elektronik, cukup mudah dibandingkan dengan salinan fax atau yang dibuat oleh dampak printer. Dokumen-dokumen yang akurat yang dihasilkan menjamin pasokan akurat. Sebagai batch dokumen tersebut y berurutan nomor dan ada kemungkinan kurang dari hilang dokumen-dokumen ini.

 5.Provides keunggulan kompetitif
Perusahaan menggunakan EDI tampil cukup menarik, wajar, biaya yang efektif dan efisien sehubungan dengan pikiran pelanggan.

  6 peningkatan produktivitas
 Penggunaan EDI oleh perusahaan membantu untuk meningkatkan produktivitas mereka tanpa melakukan investasi untuk meningkatkan staf dan karyawan.

Kekurangan yang terdapat pada Electronic Data Interchange (EDI) :

• implementasinya yang sangat spesifik dan tertutup sehingga membutuhkan biaya yang tidak sedikit.



B. Cybercrime


Definisi - Apa Cybercrime artinya?

 Cybercrime didefinisikan sebagai kejahatan di mana komputer adalah objek kejahatan (hacking, phishing, spamming) atau digunakan sebagai alat untuk melakukan kejahatan (pornografi anak, kejahatan kebencian).
Penjahat dunia maya dapat menggunakan teknologi komputer untuk mengakses informasi pribadi, rahasia dagang bisnis, atau menggunakan internet untuk tujuan eksploitatif atau berbahaya. Penjahat juga dapat menggunakan komputer untuk komunikasi dan dokumen atau penyimpanan data. Penjahat yang melakukan kegiatan ilegal sering disebut sebagai hacker.

Contoh Cybercrime

•    Pembajakan
Pembajakan adalah penyalinan dan distribusi program, film, musik atau kekayaan intelektual lain tanpa izin.
Kelompok bajak laut yang berdedikasi mengambil bahan sumber, menghapus perlindungan data mungkin memiliki dan kemudian lulus hasil yang tidak dilindungi untuk mengajukan jaringan berbagi dan situs distribusi. Industri film dan rekaman khususnya telah berjuang penyalahgunaan kekayaan intelektual mereka dengan mengajukan tuntutan hukum yang luas terhadap file sharers,
sementara perusahaan software memerangi pembajakan melalui skema perlindungan salinan diperluas dan mengganggu.

• Hacking
kejahatan cyber lain adalah praktek hacking, ilegal menghindari keamanan untuk mengakses sistem komputer orang lain.

• Biaya Penipuan muka
Satu kejahatan umum adalah penipuan uang muka. penipuan ini, juga dikenal sebagai 419 penipuan setelah bagian dari kode kriminal Nigeria yang berkaitan dengan penipuan, melibatkan korban bilking keluar uang dengan menjanjikan mereka sebuah hasil akhirnya. Email scammer korbannya dengan berita dari beberapa rejeki nomplok keuangan, sering direpresentasikan sebagai kekayaan relatif jauh atau sisa-sisa dari beberapa keberuntungan terlarang lainnya.
Semua korban perlu dilakukan untuk mengklaim kekayaan ini memberikan beberapa informasi mengidentifikasi dan membayar biaya insidental beberapa. Iming-iming kekayaan mudah menemukan banyak korban bagi para pelaku penipuan tersebut, dengan beberapa tanda individu kehilangan ribuan, atau bahkan ratusan ribu dolar.

• Kejahatan lainnya
kejahatan lain yang ada di dunia offline juga bisa dilakukan secara online. Mereka yang berdagang di pornografi anak, misalnya, sering mengambil keuntungan dari anonimitas yang disediakan oleh internet ketika berinteraksi dengan sesama penjahat mereka. Perdagangan obat juga memiliki komponen online, sebagai dealer menggunakan mata uang alternatif dan penyedia Web anonim untuk menjajakan barang dagangan mereka. Bahkan pengguna mencari obat hukum dapat menemukan pasar abu-abu di Internet di mana mereka dapat membeli obat tanpa resep dari negara lain, meskipun dalam beberapa kasus penjual ini dapat memberikan senyawa kadaluarsa, tidak benar,
 atau bahkan berbahaya untuk pembeli tanpa disadari.

Cara mencegah terjadinya Cybercrime :

Setiap masalah ada solusi, jadi jangan terlalu khawatir dengan adanya cybercime. berikut ini saya akan memberika solusi untuk menghindari adanya cybercrime.

  1. Jika anda pengguna social media dan ada kemungkinan akun anda mudah untuk di hack, cara yang sederhana yaitu mengganti password selama 3 bulan sekali. Selain itu buat password anda serumit mungkin dan jika bisa kombinasikan password anda antara angka dengan huruf.
  2. Back Up data, Sekarang ini pencurian data di media internet sangat mudah dilakukan. Dengan mem-back up data anda itu merupakan cara yang mudah dan simple. Selain itu anda tidak perlu khawatir dengan data data anda. Jika perlu back up dengan could computing, seperti google dire, one drive dan lain lain.
  3. Gunakan antivirus yang mampu mendeteksi adanya malware. Usahakan untuk memasang satu antivirus di dalam komputer. Jika anda kurang puas, gunakan dua atau lebih namun yang aktif (update) hanya satu. Karena jika semuanya aktif akan membuat cpu keberatan.
  4. Jika anda berpengatuhan lebih dalam bidang IT terutama dalam Sistem Keaman Komputer, Anda bisa menggunakan Kriptografi atau sejenisnya. Sehingga Keamanan data terjamin.

Sumber :
http://www.up.com/suppliers/order_inv/edi/what_is_edi/
http://benefitof.net/benefits-of-edi/
https://www.techopedia.com/definition/2387/cybercrime
http://techin.oureverydaylife.com/examples-cyber-crime-1544.html
https://anggiramadhan86.wordpress.com/tugas-sistem-informasi/electronic-data-interchange/


Kamis, 27 Oktober 2016

Pengantar Bisnis informatika

Mata kuliah Pengantar Bisnis informatika
58413969/Tri Wahono/4ia23
Tanggung  Jawab Sosial
Dosen Rina Noviana
Tugas ke  2

Tanggung Jawab Sosial Terhadap Konsumen

Berkembangnya jaman didimbangin dengan berkembangnya pola pikir masyarakat yang maju. Salah satu contohnya yaitu kesadaran akan masyarakat yang menginginkan suatu perusahaan untuk melakukan hubungan harnonis. Sehingga dalam interaksi tersebut saling diuntungkan. Dalam pengertian yang luas bias diartikan sebagai CSR (Corporate Social Responsibility).
Program yang dilakukan oleh suatu perusahaan dalam kaitannya dengan tanggung  jawab sosial di Indonesia dapat digolongkan dalam tiga bentuk, yaitu:

a. Public Relations
Usaha untuk menanamkan persepsi positif kepada komunitas tentang kegiatan
yang dilakukan oleh perusahaan.

b. Strategi defensif
Usaha yang dilakukan perusahaan guna menangkis anggapan negatif komunitas
yang sudah tertanam terhadap kegiatan perusahaan, dan biasanya untuk
melawan ‘serangan’ negatif dari anggapan komunitas. Usaha CSR yang dilakukan
adalah untuk merubah anggapan yang berkembang sebelumnya dengan
menggantinya dengan yang baru yang bersifat positif.

c. Kegiatan yang berasal dari visi perusahaan
Melakukan program untuk kebutuhan komunitas sekitar perusahaan atau
kegiatan perusahaan yang berbeda dari hasil dari perusahaan itu sendiri.


Ada empat manfaat yang diperoleh bagi perusahaan dengan mengimplementasikan CSR yaitu ;

Pertama , keberadaan perusahaan dapat tumbuh dan  berkelanjutan dan perusahaan mendapatkan citra ( image ) yang positif dari masyarakat  luas.

Kedua , perusahaan lebih mudah memperoleh akses terhadap kapital (modal).

Ketiga , perusahaan dapat mempertahankan sumber daya manusia ( human resources ) yang erkualitas.

Keempat , perusahaan dapat meningkatkan pengambilan keputusan pada hal-hal yang kritis ( c r i t i c a l d e c i s i o n m a k i n g ) dan mempermudah pengelolaan manajemen risiko ( risk management ).

Dengan melakukan tanggung jawab semacam itu antara kedua belah pihak tidak ada yang merasa dirugikan. Dan diharapkan untuk semua perusahaan di  Indonesia mampu melaksanakan CSR tersebut dengan baik.

Sumber :

MA Daniri - Diakses tanggal, 2008 - ati.staff.gunadarma.ac.id