Senin, 06 Mei 2019

Implementasi Cloud Computing pada Dunia Bisnis dengan SalesForce



Implementasi Cloud Computing pada Dunia Bisnis dengan SalesForce
Mata Kuliah Pengantar Komputasi Modern (Softskill)













Nama : Rizky Nugraha Putra

NPM : 56415191

Kelas : 4IA17




UNIVERSITAS GUNADARMA
2019


BAB I
PENDAHULUAN

1.1 Pendahuluan

Teknologi Informasi dan Komunikasi (TIK) saat ini telah diadopsi oleh beragam aspek kehidupan, kondisi ini terjadi karena TIK dapat berkolaborasi dengan banyak bidang pengetahuan. Bagi organisasi swasta maupun pemerintah, TIK telah membawa perubahan yang fundamental sehingga menjadi suatu backbone utama untuk banyak sektor. Email dan Facebook yang menjadi media distribusi informasi maupun promosi merupakan beberapa layanan TIK yang berbasis cloud computing. Cloud computing merupakan sebuah mekanisme, dimana sekumpulan TIK resource yang saling terhubung dan nyaris tanpa batas, baik itu infrastruktur maupun aplikasi dimiliki dan dikelola sepenuhnya oleh pihak ketiga sehingga memungkinkan customer untuk menggunakan resource tersebut secara on-demand melalui network baik yang sifatnya jaringan private maupun public. Pengguna layanan cloud computing dapat mengakses file secara real time melalui internet tanpa perlu menginstallasi komputer lokal. Banyak perusahaan yang memanfaatkan TIK untuk memajukkan bisnisnya, SalesForce salah satunya. SalesForce adalah perusahaan yang memberikan platform sebagai layanan untuk perusahaan-perusahaan lain di seluruh dunia dan memberikan kemudahaan bagi setiap perusahaan dalam mengembangkan aplikasi dalam bisnis. SalesForce juga bekerja keras untuk memahami tuntutan pada bisnis dan TIK. Perusahaan ini memanfaatkan cloud computing untuk menjalankan bisnisnya dan memberikan layanan berbasis cloud yang mempermudah dalam mengembangkan bisnis. Tujuan penelitian ini adalah memberikan kajian tentang manfaat penerapan cloud computing dalam hal ini penggunaan SalesForce App Cloud bagi perusahaan untuk meningkatkan daya saing. 



BAB II

LANDASAN TEORI


2.1 Cloud Computing

Cloud computing atau secara kata bila diterjemahkan kedalam Bahasa Indonesia dapat berbunyi “Komputasi Awan”,adalah gabungan pemanfaatan teknologi komputer (‘komputasi’) dan pengembangan berbasis Internet (‘awan’). Cloud computing adalah sebuah konsep pemahaman dalam rangka pembuatan kerangka kerja komputasi secara online lokal (LAN) maupun global (internet) dimana terdapat beragam aplikasi maupun data dan media penyimpanan yang dapat diakses dan digunakan secara berbagi (shared service) dan bersamaan (simultaneous access) oleh para pengguna yang beragam – mulai dari perseorangan sampai kepada kelas pengguna korporasi atau perusahaan. Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di dalam diagram jaringan komputer. Sebagaimna awan dalam diagram jaringan komputer tersebut, awan (cloud) dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan (as a service), sehingga pengguna dapat mengaksesnya lewat Internet (“di dalam awan”) tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya. 

2.2 Sistem Kerja Cloud Computing

Sistem Cloud bekerja menggunakan internet sebagai server dalam mengolah data. Sistem ini memungkinkan pengguna untuk login ke internet yang tersambung ke program untuk menjalankan aplikasi yang dibutuhkan tanpa melakukan instalasi. Infrastruktur seperti media penyimpanan data dan juga instruksi/perintah dari pengguna disimpan secara virtual melalui jaringan internet kemudian perintah – perintah tersebut dilanjutkan ke server aplikasi. Setelah perintah diterima di server aplikasi kemudian data diproses dan pada proses final pengguna akan disajikan dengan halaman yang telah diperbaharui sesuai dengan instruksi yang diterima sebelumnya sehingga konsumen dapat merasakan manfaatnya.

2.3 Tujuan Cloud Computing

Dengan adanya cloud computing akan mengubah paradigma perusahaan atau pun organisasi IT dalam memandanag investasi teknologi komunikasi informasi . “ invertasi untuk modal kapital berubah menjadi biaya operasional dengan besaran yang lebih efisien akibat adanya cloud coumping , dan ini membuat para pengguna (user) bebas berkreasi dan tidak perlu. Menyediakan infrastruktur (data center, processing power, storange, sampai ke aplikasi deskop) untuk dapat memilikisebuah sistem , karena semuannya sudah disebabkan secara virtual. Dengan Cloud Computing kita tidak perlu ladi dikuatikan dengan adannya kompleksitas teknologi saat ini , Perusahaan dan organisasi yang dalam usannya menggunakan Teknologi informasi tidak peru takut dengan hal-hal yang dapat mengancam keamanan sistem informasi. 

2.4 Karakteristik Cloud Computing

Lima karakteristik penting dari cloud computing terbagi menjadi lima, yaitu :
1.      On-demand self-service. 
Tanpa melakukan interaksi dengan penyedia layanan, kemampuan komputasi pengguna dapat ditentukan secara otomatis. Kemampuan komputasi seperti server time dan network storage.
2.      Broad network access. 
Kemampuan yang mengenalkan pengguna ke berbagai platform seperti telepon seluler, tablet, laptop dan workstations yang tersedia melalui akses jaringan.
3.      Resource pooling. 
Sumber daya yang dimiliki penyedia seperti sumber daya penyimpanan, pemrosesan, memori, mesin virtual dan sebagainya, disatukan untuk melayani konsumen virtual serta diberi tugas sesuai permintaan dan secara dinamis. Lokasi sumber daya yang disediakan tidak begitu diketahui oleh pengguna, namun terdapat kemungkinan bahwa lokasi di tingkat yang lebih tinggi dapat ditentukan.
4.      Rapid elasticity. 
Kemampuan yang elastis, dalam hal ini kapasitas layanan dapat dengan mudah diturunkan atau dinaikan sesuai dengan permintaan pengguna. Kapasitas yang ada dalam layanan ini tidak terbatas.
5.      Measured Service. 
Selain kemampuan yang elastis, cloud computing juga menyediakan layanan yang dapat digunakan untuk monitoring dan mengoptimalkan penggunaan sumber daya. Layanan ini sebagai bentuk transparansi bagi provider dan pengguna, dimana pengguna dapat mengetahui apa saja sumber daya yang telah digunakan, seperti bandwith, penyimpanan dan pemrosesan. 

2.5 Cloud Software as a Service (Saas)

SaaS (software as a service atau perangkat lunak berbentuk layanan) adalah suatu model penyampaian aplikasi perangkat lunak oleh suatu vendor perangkat lunak yang mengembangkan aplikasi web yang diinangi dan dioperasikan (baik secara mandiri maupun melalui pihak ketiga) untuk digunakan oleh pelanggannya melalui Internet. Pelanggan tidak mengeluarkan uang untuk memiliki perangkat lunak tersebut melainkan hanya untuk menggunakan. Pelanggan menggunakan perangkat lunak tersebut melalui antarmuka pemrograman aplikasi yang dapat diakses melalui web dan seringkali ditulis menggunakan layanan web atau REST. 
Cloud Software as a Service (SaaS) Provider memberikan keunggulan dimana pengguna tidak perlu memikirkan lisensi software, pengguna dapat menggunakan software yang disediakan dimanapun dan kapanpun serta beroperasi pada infrastruktur cloud. Contoh layanan ini adalah penggunaan terhadap SalesForce,com
BAB III

PEMBAHASAN

3.1 SalesForce

Salesforce adalah perusahaan yang menyediakan teknologi supaya dapat sesuai dengan kebutuhan bisnis suatu perusahaan. Salesforce merupakan perangkat lunak CRM yang berisikan banyak tools untuk membantu tim penjualan dan juga membantu pengelolaan perusahaan menjadi lebih baik dan benar. Anda dapat dengan mudah mencatat, mengelola dan menganalisis semua aktivitas pelanggan di tempat dengan perangkat lunak berbasis cloud. Itu berarti Anda hanya membutuhkan koneksi internet untuk menangani semua bisnis dari suatu tempat.

3.2 Fungsi SalesForce

SalesForce tidak hanya berbicara tentang teknologi, tetapi berfokus pada aplikasi serta hasil. Visinya adalah untuk memberdayakan setiap organisasi atau perusahaan dan setiap jenis pengembang dengan segala yang mereka butuhkan. Dengan begitu SalesForce digunakan untuk meningkatkan efisiensi kepada organisasi atau perusahaan dalam hal kemudahan otomatisasi pelacakan daftar lead sambil memberikan fungsi yang terintegrasi untuk mendorong pendapatan. Dan juga membuat perusahaan lebih hemat dalam membuat kampanye atau penawaran karena dapat dilakukan secara masal melalui email dari data leads berdasarkan segmen yang telah ditargetkan.


Jumat, 26 April 2019

Software Perancangan dan Implementasi Perangkat Lunak

Nama Kelompok 7:
Rama Nevta Hendra | 55415621
Rizky Nugraha Putra | 56415191
Robi Pradana M | 56415227
Rosiyana Dwi Anggarani | 56415276

Kelas :
4IA17

Perancangan dan Implementasi Perangkat Lunak (RPL)
Tahap implementasi pengembangan perangkat lunak ialah: Suatu proses pengubahan spesifikasi sistem menjadi sistem yang dapat dijalankan. Pada kegiatan-kegiatan proses perancangan yang spesifik terdapat lima bagian diantaranya: Perancangan arsitektural merupakan subsistem-subsistem yang membentuk sistem dan hubungan mereka diindentifikasikan dan didokumentasikan. Spesifikasi abstrak untuk setiap subsistem, spesifikasi abstrak dari layanan dan batas operasinya harus ditentukan. Perancangan interface untuk setiap subsistem, interface dengan subsistem dirancang dan didokumentasikan. Spesifikasi interface harus sudah jelas karena memungkinkan subsistem dipakai tanpa mengetahui operasi sistem. Perancangan komponen layanan dialokasikan pada komponen yang berbeda dan interface komponen-komponen dirancang. Perancangan struktur data struktur data yang dipakai pada implementasi sistem dirancang secara rinci dan dispesifikasi.
Model Umum Proses Perancangan
Untuk model umum proses perancangan, bisa dilihat pada gambar di bawah ini :
Model Umum Proses Perancangan
Untuk model umum proses perancangan, bisa dilihat pada gambar di bawah ini :

Metode Perancangan dan Metode Terstruktur
Pendekatan yang lebih metodis terhadap perancangan perangkat lunak adalah metode terstruktur yang terdiri dari serangkaian notasi dan panduan. Sedangkan metode terstruktur dapat mendukung beberapa atau semua model sistem berikut ini:
1.       Model aliran data: Sistem dimodelkan dengan menggunakan transformasi dengan menggunakan transformasi data yang terjadi pada saat pemrosesan.
2.       Model relasi entitas: Digunakan untuk mendeskripsikan entitas-entitas dasar pada perancangan dan hubungan diantaranya.
3.       Model Struktural: Komponen-komponen sistem dan interaksinya didokumentasikan.
4.       Metode berorientasi obyek: Terdiri dari model inheritansi (pewarisan) sistem, model hubungan statis dan dinamis diantara objek dan bagaimana objek berinteraksi satu sama lain ketika sistem dijalankan.
Proses Debug
Programmer melakukan pengujian terhadap kode yang telah dikembangkan. Kegiatan tersebut menunjukkan error program yang harus dihilangkan, kegiatan ini disebut debugging. Pengujian error dan debug ialah proses yang berbeda. Pengujian menentukan adanya error sedangkan debug berhubungan dengan pencarian lokasi dan pembetulan error.
Proses perangkat lunak ialah suatu kegiatan dalam pembuatan sistem perangkat lunak. Model proses perangkat lunak adalah representasi abstrak dari proses ini.

Rekayasa Persyaratan
Proses pengembangan spesifikasi PL (perangkat lunak) mencangkup kegiatan berikut ini:
1.              Pengembangan spesifikasi yang dapat dipahami oleh user sistem.
2.              Spesifikasi yang lebih rinci bagi pengemban sistem
Validasi Perangkat  Lunak
Suatu proses pemeriksaan untuk menjamin agar sistem telah sesuai dengan spesifikasi, memenuhi kebutuhan sesungguhnya dari user sistem.
Teknologi CASE (Computer Aided Software Engineering)
Memberikan dukungan terotomasi bagi proses perangkat lunak.
CASE tool
Mendukung kegiatan proses individual. Lingkungan CASE mendukung semua atau sebagian besar kegiatan proses perangkat lunak (PL).
Pendukung Proses Terotomasi
Computer Aided Software Engineering (CASE) adalah perangkat lunak yang digunakan untuk mendukung kegiatan proses rekayasa perangkat lunak. Teknologi CASE memberikan dukungan proses perangkat lunak yang mengotomasi beberapa kegiatan proses dan memberikan informasi mengenai perangkat lunak yang sedang dikembangkan.
Contoh Proses Pendukung Otomasi
–         Pengembangan model sistem grafis sebagai bagian dari spesifikasi perancangan lunak.
–         Pemahaman rancangan dengan kamus data yang menyimpan informasi entitas dan hubungan pada rancangan.
–         Pembuatan interface user dari deskripsi interface grafis yang interaktif dengan user.
–         Debug program, menyediakan informasi tentang program yang berjalan.
–         Terjemahan program yang terotomasi dari bahasa pemrograman versi lama, contoh: cobol menjadi versi lebih baru.
Klasifikasi CASE
Fugetta(1993) mengusulkan klasifikasi sistem CASE dalam tiga kategori:
1.       tool (alat bantu) mendukung pekerjaan proses indivudal seperti:
a.       periksa konsistensi perancangan.
b.       kompilasi program
c.       membandingkan hasil pengujian.
Tool bisa berupa berisfat umum (general purpose) atau dikelompokkan menjadi workbench.
2.       Workbench mendukung fase/kegiatan proses seperti spesifikasi dan perancangan. Workbench biasanya terdiri dari serangkaian tool dengan derajat integrasi yang lebih besar/lebih kecil.
3.       Lingkungan mendukung semua atau paling tidak bagian yang penting dari proses perangkat lunak. Lingkungan biasanya mencakup beberapa workbench  yang terintegrasi dengan suatu cara.
4.       Workbench CASE adalah suatu alat bantu yang mendukung fase khusus dari proses perangkat lunak seperti perancangan, implementasi, atau pengujian.
5.       Keuntungan pengelompokkan CASE Tool menjadi Workbench CASE adalah bahwa alat bantu tersebut dapat bekerja bersama untuk memberikan dukungan yang lebih komprehensif yang dapat dilakukan dengan satu alat bantu.
lihat gambar di bawah ini: 


Persyaratan Perangkat Lunak
Definisi persyaratan user adalah pernyatan, dalam bahasa natural ditambah program, mengenai apa yang bisa kita harapkan oleh sistem dan batasan operasinya. Definisi persyaratan sistem menentukan layanan dan batasan sistem secara rinci. Dokumen persyaratan sistem atau spesifikasi fungsional harus tepat. Dokumen ini berlaku sebagai kontrak antara pembeli dengan pengembang perangkat lunak. Spesifikasi perancangan sistem adalah deskripsi abstrak dari perancangan perangkat lunak yang menjadi dasar bagi perancangan yang lebih rinci serta implementasi.
Persyaratan Fungsional :  Pernyataan layanan yang harus diberikan sistem, bagaimana sistem harus berlaku pada situasi-situasi tertentu dan bagaimana sistem harus bereaksi terhadap input tertentu.
Persyaratan non Fungsional : Persyaratan ini merupakan batasan layanan atau fungsi yang diberikan sistem. Dokumen ini meliputi batasan waktu, batasan pada proses pengembangan, Standar.
Persyaratan Domain : Dokumen ini adalah persyaratan yg datang dari domain aplikasi sistem dan Merefleksikan karakteristik domain tersebut.
Persyaratan User  
Persyaratan user untuk sistem harus mendeskripsikan persyaratan fungsional & Non-fungsional sehingga dapat dipahami oleh user sistem yg tidak memiliki Pengetahuan yang  rinci. Persyaratan user tidak boleh didefinisikan dengan model Implementasi. Persyaratan user harus ditulis dengan memakai bahasa natural,Format dan diagram intuitif yg sederhana.
Persyaratan Sistem
Persyaratan sistem digunakan sebagai titik awal perancangan sistem. Berisi model – model sistem yg berbeda seperti model objek / model aliran data. Pada prinsipnya, persyaratan ini menyatakan apa yg harus dilakukan sistem dan bukan bagaimana sistem tersebut harus diimplementasi.
Spesifikasi Bahasa Terstruktur
Bahasa natural terstruktur adalah bentuk yang terbatas dari bahasa natural untuk menulis persyaratan sistem.  Formstandar digunakan untuk menspesifikasi persyaratan fungsional,  Informasi-informasi  berikut ini harus dimasukkan :

1.         Deskripsi fungsi/ entitas yang dispesifikasi.
2.         Deskripsi inputnya dan darimana asalnya.
3.         Deskripsi outputnya dan kemana perginya.
4.         Indikasi untuk apa entitas lainnya digunakan.
5.         Deskripsi efek samping operasi.
Pada spesifikasi bahasa natural masih terdapat adanya kemenduaan arti yang mungkin masih ada walaupun variabilitas sudah berkurang jauh. Metode alternatif spesifikasi persyaratan menggunakan PDL dapat mengatasi masalah tersebut.
Spesifikasi Persyaratan dengan PDL
Persyaratan dapat didefinisikan secara operasional dengan PDL (Program Description Language ) untuk menghindari kemenduaan arti.  PDL  merupakan bahasa yang berasal dari java.  Keuntungan PDL bahasa ini dapat diperiksa secara sintaksis dan semantik dengan alat bantu Perangkat Lunak.  Sedangkan kerugian PDL diantaranya:
1.       Bahasa yg dipakai menulis spesifikasi mungkin tidak cukup ekprsif memberi deskripsi fungsionalitas sistem.
2.       Notasinya hanya dipahami oleh oleh orang yang memiliki cukup pengetahuan tentang bahasa pemrograman.
3.       Persyaratan bisa diambil sebagai perancangan spesifikasi desain ketimbang sebagai model utk membantu user pahami sistem.
Spesifikasi Interface
Mayoritas sistem perangkat lunak  harus beroperasi dengan sistem lain yang telah diimplementasi dan diinstal pada suatu lingkungan. Apabila sistem yang baru dan sistem yang sudah ada bekerjasama, maka harus dibuat interface sistem dengan tepat.
End User Development
Pengembangan perangkat lunak oleh pemakai akhir
1.       Dikerjakan tanpa bantuan profesional.
2.       Didukung oleh hadirnya Personal Computer
Dengan bantuan 4GL
1.       Fourth generation language.
2.       Nonprocedural (less procedural) language.
Jenis –jenis  4GL  antara lain:
1.       Query language.
2.       Report generator.
3.       Graphic language.
4.       Application generator.
5.       Very high level programming language
6.       Application software package
7.       Microcomputer tools.
Perancangan Perangkat Lunak
Merancang adalah proses kreatif, kuncinya harus sering berlatih. Terdapat tiga tahapan dalam mengatasi problema dalam perancangan:
1.       Pelajari & pahami permasalahan, Tanpa pemahaman tidak bermanfaat. Pemahaman bisa salah dengan pemahaman yang salah membawa kearah yang salah. Pemahaman yang benar memudahkan penerimaan oleh user. Kemudian lihat dari berbagai sudut pandang seperti: kebutuhan bisa terlihat berbeda dan cara memenuhi kebutuhan (gunakan berbagai pemodelan).
2.       Tentukan rancangan global, Buat garis besar pemecahan masalah, rancang lebih dari satu alternatif dan lakukan evaluasi bersama user. Untuk pilihan solusi tergantung pengalaman dan pengetahuan akan mempengaruhi bentuk dan pilihan solusi. Ketersediaan reusable component (komponen yang diadopsi dari sistem lain) kesederhaan (simplicity), rancangan harus diupayakan sederhana.
3.       Buat rancangan rinci, Solusi yang terpilih dirinci, dilakukan pada tahap-tahap implementasi. Rancangan dapat memperlihatkan : kesalahan dan ketidaklengkapan.

Strategi Perancangan
Rancangan fungsional merupakan sistem yang dirancang dengan meilihat proses apa saja yang ada didalamnya. Bertahap dari high level ke detial design. Strategi yang dipakai structure design dengan memanfaatkan diantaranya: data flow model, entity relationship model dan structure model (structure chart).
Rancangan Berorientasi Obyek Sistem dirancang sebagai koleksi dari obyek. Ide dasarnya adalah information hiding (penyembunyian informasi). Tiap obyek mempunyai sejumlah atribut dan operasi berdasarkan atribut yang ada. Obyek berkomunikasi dengan obyek lainnya melalui message.

Kualitas Rancangan Tidak ada kesepakatan tentang rancangan yang baik. Rancangan harus sesuai spesifikasi.
Rancangan yang baik kemungkinan berbentuk:
1.       Rancangan efisien, menghasilkan program yang bekerja efisien.
2.       Rancangan minimal, menghasilkan program sangat kompak, ukurannya kecil.
3.       Rancangan yang mudah dirawat: mudah diadaptasi dan disesuaikan dengan kebutuhan (diubah, ditambah, dikurangi)
4.       Rancangan terpadu: perubahan bersifat lokal, kohesi tinggi dan kopling rendah.
Kohesi
Kohesi adalah keterkaitan aktivitas didalam modul-modul. Semakin tinggi kohesi semakin baik. Terdapat 7 macam kohesi:
1.       Functon cohesion – Hanya mengerjakan tugas – Hanya mempunyai satu tujuan
2.       Sequential cohesion – Modul mengerjakan tugas – Dengan memakai struktur data yang sama.
3.       Communicational cohesion – Modul berisi sejumlah aktivitas, dengan memakai data yang sama. Contoh: update record in database and write it to audit file
4.       Procedural cohesion – Modul menerjakan tugas urutan proses tertentu. Contoh: read part from database and update repair_rec on maint_file
5.       Temporal cohesion Modul berisi kelompok komponen-komponen modul. – Terkelompok karena kesamaan waktu eksekusi.
6.       Logical cohesion – Modul berisi kelompok komponen-komponen yang mengerjakan tugas yang sama. Contoh: sebuah modul yang berisi semua kegiatan mencetak.
7.       Coincidental cohesion – Modul mengerjakan beragam tugas, yang tidak saling terkait.