Apa Itu Cloud Computing? Beserta Faedah, Cara Kerja Dan Teladan

Pesatnya perkembangan teknologi saat ini sudah banyak menawarkan penyelesaian alternatif bagi sebagian perusahaan atau organisasi dalam menjalankan dan membuatkan usahanya. Saat ini banyak perusahaan atau organisasi yang membangun model bisnis dengan mengandalkan cloud computing. Cloud computing bukan hanya sekedar solusi bagi sebagian perusahaan atau organisasi, melainkan model bisnis yang relatif gres yang bisa dipraktekkan pada semua jenis perusahaan atau organisasi.

Cloud computing merupakan teknologi yang meningkat berkat adanya jaringan internet. Teknologi cloud computing ini sudah banyak diterapkan di dunia, juga di Indonesia. Cloud computing menjadi salah satu solusi alternatif yang bermain di kala ekonomi disruptif dewasa ini. Banyaknya faedah yang diperoleh dari teknologi ini terhadap penggunanya mengakibatkan perusahaan-perusahaan besar seperti Google, Amazon, Microsoft, Adobe, IBM dan yang lain turut ikut ikut serta berbagi penyelesaian berbasis cloud.

“Cloud yakni ihwal bagaimana kamu melakukan komputasi, bukan di mana kau melaksanakan komputasi” (Paul Maritz)

Cloud computing seperti di awal ialah pemanfaatan dari teknologi internet, jadi dalam penerapannya, cloud computing memerlukan jaringan internet. Hal ini dikarenakan cloud computing mempunyai server yang terpusat yang mampu kau gunakan di banyak sekali perangkat. Namun, apa sih cloud computing itu? Bagaimana cara kerjanya? Apa saja contohnya? Silahkan kamu scroll ke bawah dan simak penjelasan selengkapnya.

Apa Itu Cloud Computing

Cloud computing dalam bahasa indonesia dapat diartikan selaku komputasi awan, yakni variasi dari teknologi yang memanfaatkan komputer dan penggunaan berbasis internet. Maka, cloud computing ialah sebuah ungkapan yang dipakai untuk sebuah teknologi yang mampu diakses lewat jaringan internet.

Cloud computing yaitu suatu proses pembuatan sumber daya komputasi lewat jaringan internet supaya mampu mengerjakan acara melalui komputer yang sudah terhubung dengan server cloud pada waktu yang sama. Dengan kata lain cloud computing ialah layanan komputasi yang menawarkan berbagai layanan tergolong server, media penyimpanan, database, software dan lain sebagainya.

Secara umum ada tiga jenis layanan berbasis cloud yang disediakan oleh pemasoklayanan cloud, diantaranya ialah SaaS (Software as a Service), PaaS (Platform as a Service) dan IaaS (Infrastructure as a Service). Penjelasan mengenai ketiga layanan cloud tersebut akan diuraikan pada sub judul teladan cloud computing.

Manfaat Cloud Computing

Cloud computing banyak menunjukkan faedah. Akan tetapi masih banyak orang yang berpikir bahwa cloud computing ini hanya berguna selaku penyuplailayanan backup terhadap metode yang sedang berjalan. Namun bahwasanya manfaat cloud computing lebih luas lagi utamanya bagi perusahaan maupun organisasi. Berikut yakni beberapa manfaat dari cloud computing.

1. Fleksibilitas

Banyak perusahaan yang menggunakan layanan cloud computing dikarenakan alasan fleksibilitas. Layanan cloud menawarkan keleluasaan yang luas untuk semua karyawan kau atau orang yang ada di ruang lingkup perusahaan dalam praktik kerja mereka. Misalkan kamu memerlukan jalan masuk ke dokumen dan data ketika berada di luar lokasi perusahaan atau di rumah. Kamu bisa berinteraksi dengan layanan cloud pada kantor kamu dengan segera dimanapun dan kapanpun kau membutuhkannya. Kamu bisa mengaksesnya melalui perangkat yang terkoneksi dengan internet dengan terhubung ke penyedia layanan cloud.

2. Skalabilitas

Manfaat berikutnya dari cloud computing yakni skalabilitas. Maksudnya layanan cloud menyediakan sumber daya komputasi seperti penyimpanan, bandwidth dan lain sebagainya dengan kapasitas yang mampu disesuaikan sesuai dengan kebutuhan. Kamu mampu menyesuaikan sumber daya yang akan digunakan dikala ada lonjakan penggunaan. Begitupun sebaliknya kau bisa menghemat kembali sumber daya tersebut dikala sedikit penggunanya.

3. Keamanan Data & Pemulihan Bencana

Berbagai pemasoklayanan cloud banyak memberikan serangkaian kebijakan, sertifikasi keselamatan dan kendali yang luas. Hal tersebut berkhasiat dalam memperkuat keselamatan data dari potensi ancaman pencurian atau kehilangan data. Selain itu cloud juga dapat dipakai sebagai layanan pemulihan dari peristiwa. Dalam artian layanan cloud menyediakan server yang terpisah, hal ini dimaksudkan dikala terjadi bencana server lain masih mampu dipakai.

4. Penghematan Biaya

Salah satu faedah yang terpenting dari cloud computing yaitu menghemat ongkos. Kamu tidak perlu mengeluarkan biaya untuk pembelian infrastruktur mirip hardisk, server dan lain sebagainya. Belum lagi kamu tidak perlu mengeluarkan biaya untuk perawatan infrastruktur atau kerusakan pada infrastruktur yang perlu kamu ganti, seluruhnya telah dilayani dan dikontrol oleh penyuplailayanan cloud.

Kamu hanya cukup mengeluarkan uang sesuai dengan paket layanan cloud yang sudah kamu sepakati bersama dengan pemasoklayanan cloud. Layanan cloud juga banyak yang memperlihatkan bayar sesuai apa yang kau pakai. Ditambah biaya royalti atau lisensi perangkat lunak juga akan otomatis menyusut, alasannya adalah semuanya berlangsung dengan komputasi cloud.

Cara Kerja Cloud Computing

Teknologi cloud computing ini memerlukan internet sebagai sentra server dalam mengakses data, aplikasi maupun sumber daya yang lain. Jadi dapat disimpulkan bahwa cara kerja cloud computing bergantung seluruhnya pada internet. Kegiatan yang kau gunakan ketika memakai layanan cloud seluruhnya berpusat pada server cloud. Data-data yang kau inputkan atau simpan akan tersimpan pada server cloud bukan pada komputer atau perangkat kamu.

Ketika kau akan mengakses data atau aplikasi tersebut, kau cukup mengaksesnya lewat perangkat komputer atau perangkat lain, tidak harus menggunakan perangkat yang serupa. Penyedia layanan cloud akan mempermudah kamu sebagai pengguna untuk login ke cloud dengan internet biar memperoleh hak saluran untuk menjalankan aplikasi tanpa mesti memasangnya. Sehingga kau tidak akan dibebani oleh media penyimpanan atau memori dikala menggunakan layanan cloud.

Setelah server cloud menerima perintah dari kamu, maka data atau aplikasi akan diproses dan balasannya kau sebagai pengguna akan menerima data atau aplikasi tersebut pada perangkat yang kau gunakan. Dengan kata lain kamu sebagai pengguna hanya membutuhkan jaringan internet semoga dapat mengakses data atau aplikasi yang mau kau gunakan.

Contoh Cloud Computing

Seperti yang sempat kita singgung sebelumnya, layanan cloud terbagi menjadi tiga yaitu, SaaS (Software as a Service), PaaS (Platform as a Service) dan IaaS (Infrastructure as a Service). Lalu apa saja teladan dari ketiga layanan cloud computing tersebut? Mari kita simak uraian berikut ini.

1. SaaS (Software as a Service)

Layanan cloud SaaS ditawarkan dalam bentuk perangkat lunak. Contohnya yakni Adobe Creative Cloud, Google Docs, Spreadsheet, Microsoft 365 atau dahulu dikenal dengan Office 365. Melalui layanan SaaS, kau dapat mengakses perangkat lunak atau aplikasi dengan gampang tanpa perlu menawarkan media penyimpanan untuk menyimpan aplikasi tersebut atau memasang aplikasi tersebut. Dengan begitu, kamu mampu lebih berkonsentrasi dalam mengoptimalkan penggunaan aplikasi, alasannya adalah penyuplailayanan cloud akan menjamin ketersediaan dan reliabilitas aplikasi tersebut.

2. IaaS (Infrastructure as a Service)

Layanan cloud IaaS disediakan dalam bentuk menawarkan sumber daya infrastruktur komputasi dalam artian cloud computing yang menyeluruh, meliputi server, storage, jaringan, bahkan hingga ruangan data center khusus. Apabila dianalogikan, saat kamu menyewa layanan IaaS, artinya kamu sedang menyewa komputer virtual yang masih kosong. Setelah disewa, kamu mampu dengan bebas menyertakan unsur komputasi tampaknya CPU, RAM, storage dan lain sebagainya.

Contoh pemasoklayanan IaaS adalah Google Compute Engine, Azure. Dengan menggunakan layanan IaaS, kau bisa menghemat ongkos alasannya kau tidak perlu berbelanja perangkat komputer fisik dan juga tidak mempertimbangkan pengelolaannya atau pemeliharaan bila ada kerusakan. Semuanya akan dilayani oleh penyuplailayanan cloud.

Selain itu kau dapat melakukan konfigurasi komputer virtual secara mudah dan cepat. Misalkan saat komputer virtual menampung data lebih dari kapasitas yang tersedia, kamu mampu memperbesar RAM atau storage dengan segera dan juga kamu bisa meminimalkan RAM atau storage.

3. PaaS (Platform as a Service)

Layanan cloud PaaS disediakan dalam bentuk platform yang mampu kamu gunakan dalam membuat aplikasi atau perangkat lunak. Apabila dianalogikan, saat kau menggunakan layanan PaaS layaknya kau menyewa sebuah rumah beserta aneka macam lingkungannya mencakup database engine, tata cara operasi, network, framework aplikasi dan lain sebagainya.

Sebagai penyewa kamu tidak butuhmemelihara rumah tersebut alasannya penyedia layanan cloud lah yang hendak melakukannya. Sehingga kau dapat lebih berfokus pada pengembangan aplikasi atau perangkat lunak yang kamu buat.

Contoh pemasoklayanan PaaS yakni IBM Bluemix, Google Cloud Platform, AWS Elastic Beanstalk. pada layanan tersebut, kamu mampu membangun aplikasi sendiri dengan banyak sekali fitur dan kemudahan yang tersedia. Salah satu fitur utama dari PaaS ialah skalabilitasnya yang tinggi. Dalam artian kamu tidak perlu risau dikala banyaknya pengguna yang memakai aplikasi tersebut. Karena penyedia PaaS akan menolong kau untuk melayani jumlah pengguna yang banyak tersebut.

Berbagai Macam Jurusan Kuliah Yang Dapat Menjadi Developer It

Bagi kamu yang gres lulus sekolah Sekolah Menengan Atas atau SMK ini pastinya kamu ingin melanjutkan jenjang pendidikan ke yang lebih tinggi lagi bukan? dan kau ingin kuliah di jurusan yang bisa membuatmu menjadi seorang developer. Tapi kau kebingungan dalam memilih jurusan yang tepat dengan diri kamu. Seorang developer dikala ini memang sangat diharapkan sehingga tersedia terlalu banyak peluang kerja serta seorang developer mampu mengandalkan kemampuannya untuk menjadi freelancer.

Developer di bidang teknologi merupakan seseorang yang bertugas untuk mendesain sebuah sistem atau aplikasi, baik dari struktur, prospek hingga antarmuka tata cara itu sendiri. Bahkan seorang developer juga mesti mampu mengenali kebutuhan proyek, menciptakan penyusunan rencana dan mampu memeriksa kelemahan aplikasi yang dikembangkan.

Terdapat banyak jurusan kuliah yang tersedia di Kampus yang dapat menyebabkan kamu selaku developer, walaupun jurusan komputer sekilas sama saja. Namun nyatanya tidak, karena setiap jurusan memiliki fokus di bidangnya masing-masing. Berikut beberapa jurusan kuliah yang mampu menjadikanmu selaku seorang developer.

Selain memilih jurusan kuliah kamu juga diusulkan mengikuti sertifikasi, sebab sertifikasi akan menjadi bekal yang cantik untuk karir kau sebagai developer.

Teknik Informatika

Mahasiswa jurusan Teknik Informatika akan dididik menjadi seorang programmer, dengan mempelajari disiplin ilmu tentang pengolahan data komputer lewat proses akal. Saat kau mengambil jurusan Teknik Informatika maka kau mesti dapat berpikir logis dan terstruktur alasannya adalah kamu akan mempelajari bagaimana implementasi logika matematika untuk mengurus informasi dengan mentransformasi data lewat pemanfaatan teknologi komputer seoptimal mungkin.

Apabila kau memutuskan memilih jurusan Teknik Informatika, maka kau akan dituntut teliti, giat dan bisa menganalisa serta mampu menguasai bahasa pemrograman untuk mengembangkan perangkat lunak dengan menciptakan perancangan perihal acara yang akan dibangun. Dalam perancangan program kamu mesti mengilustrasikan bagaimana alur suatu metode bisa berjalan sesuai dengan fungsi dan logikanya. Bagi kau yang berminat menjadi seorang developer jurusan ini sangat cocok sebab kamu akan berguru mengenai hal-hal yang cukup penting untuk menjadi seorang developer. 

Sistem Informasi

Jurusan Sistem Informasi ini menggabungkan antara bidang komputer, manajemen dan bisnis. kau akan berfokus pada programming, namun ke arah sudut pandang yang berlawanan yaitu penerapan ke bisnis perusahaan. Nah, jurusan ini cocok bagi kamu yang tidak terlampau suka matematika, meskipun masih ada tetapi tidak sebanyak di jurusan yang lain.

Apabila kau memutuskan menentukan jurusan Sistem Informasi, kau akan mempelajari cara membangun perangkat lunak untuk keperluan bisnis sebuah perusahaan. Kamu harus besar lengan berkuasa dalam faktor analisis alasannya sebelum kamu membuat suatu aplikasi kau harus memeriksa proses bisnis perusahaan. Dengan jurusan ini kamu akan dibekali kemampuan memeriksa bisnis perusahaan dalam menciptakan metode, hal ini cukup penting bagi seorang developer.

Teknik Komputer

Apabila jurusan Teknik Informatika lebih berkonsentrasi kepada software, sedangkan jurusan Teknik Komputer akan lebih konsentrasi ke bidang hardware komputer. Selain mempelajari  bab-bagian hardware komputer, kamu juga akan mempelajari bahasa pemrograman utamanya bahasa mesin. Untuk mampu berkomunikasi dengan microcontroller, kamu perlu menguasai bahasa mesin tersebut.

Apabila kau menetapkan untuk memilih jurusan Teknik Komputer, kau akan mempelajari sejumlah prinsip-prinsip komputasi, matematika yang diimplementasikan untuk mendesain perangkat keras dan perangkat lunak. Kurikulum Teknik Komputer lazimnya lebih ditekankan terhadap perangkat keras dibanding perangkat lunak. Kemampuan bahasa mesin juga menjadi bekal yang cukup manis untuk menjadi seorang developer alasannya kau akan bisa  untuk berkomunikasi dengan mesin secara langsung.

Teknologi dan Aplikasi Game

Mahasiswa jurusan Teknologi dan Aplikasi Game tidak selalu bermain game saja, namun jurusan ini akan membekali mahasiswanya dari sisi teknis dan bisnis. Dari segi teknis akan berguru mendesain kisah yang ada pada game, rancangan karakter dan user interface dan menguasai pemrograman komputer utamanya yang berkaitan dengan game. Dari segi bisnis kamu akan mempelajari kesanggupan komunikasi dan bisnis dalam membuatkan industri kreatif.

Apabila kau memutuskan menentukan jurusan Teknologi dan Aplikasi Game maka kau harus memiliki kemampuan dalam menggunakan pustaka dan perlengkapan untuk membuat game platform dan game engine. Buat kau yang suka main game tidak ada salahnya masuk jurusan ini dan menjadi developer tidak hanya sebatas penikmat game saja.

Teknik Elektronika

Teknik Elektronika identik dengan listrik, hal tersebut tidaklah salah karena jurusan elektro ialah turunan dari teknik elektronika yang berfokus dalam mempelajari kelistrikan dan perlengkapan semikonduktor.  Dengan kata lain pengimplimentasian dari teknik elektro dan ilmu komputer, walaupun fokusnya merancang hardware mirip sirkuit dan metode elektronika, kau juga akan belajar tentang algoritma dan pemrograman yang hendak menjadi dasar untuk membangun komponen elektronika.

Apabila kau menetapkan memilih jurusan Teknik Elektronika maka kamu akan banyak terjun dalam mempelajari arus lemah listrik pada transistor, IC, dan lain sebagainya.Dengan jurusan Teknik Elektronika kamu juga mampu menjadi perancang sirkuit elektronika tidak hanya perangkat komputer saja. Kamu pun mampu menjadi seorang developer sebab mempunyai pemahaman algoritma dan pemrograman.

Teknik Telekomunikasi

Teknik Elektronika identik dengan listrik, hal tersebut tidaklah salah alasannya adalah jurusan elektro merupakan turunan dari teknik elektronika yang berfokus dalam mempelajari kelistrikan dan peralatan semikonduktor.  Dengan kata lain pengimplimentasian dari teknik elektronik dan ilmu komputer, walaupun fokusnya mendesain hardware seperti sirkuit dan sistem elektronik, kamu juga akan belajar mengenai algoritma dan pemrograman yang mau menjadi dasar untuk membangun bagian elektronika.

Apabila kamu menetapkan memilih jurusan Teknik Elektronika maka kamu akan banyak terjun dalam mempelajari arus lemah listrik pada transistor, IC, dan lain sebagainya.Dengan jurusan Teknik Elektronika kau juga mampu menjadi perancang sirkuit elektro tidak hanya perangkat komputer saja. Kamu pun dapat menjadi seorang developer sebab mempunyai pengertian algoritma dan pemrograman.

Ilmu Matematika

Jurusan Ilmu Matematika dibanding jurusan yang lain merupakan jurusan yang kurang mendapatkan minat. Padahal kesempatan jurusan ini juga cukup luas dan biasanya mahasiswa ilmu Matematika memiliki kemampuan dilema solving yang bagus. Jurusan ini tidak selalu mempelajari perhitungan rumus-rumus, ada banyak hal yang dipelajari selain perhitungan.

Apabila kamu menetapkan menentukan jurusan ilmu Matematika maka kau akan mempelajari analisis aljabar dan matematika terapan serta ilmu komputasi. Bagi kau yang berkeinginan menjadi seorang developer kamu dapat mengambil fokus komputasi disini kau akan mempelajari bagaimana matematika diaplikasikan ke dalam bidang komputer, alasannya adalah pada dasarnya ilmu komputer berasal dari ilmu matematika yang dipersempit.

Teknik Industri

Jurusan Teknik Industri intinya akan berfokus bagaimana cara mengorganisir pabrik biar bisa beroperasi secara produktif dan efektif meliputi perancangan, instalasi metode terintegrasi dan memprediksi atau mengecek hasil dari sebuah metode terintegrasi. Oleh alasannya adalah itu diperlukan wawasan di bidang matematika, fisika, prinsip rekayasa dan ilmu sosial.

Apabila kamu menetapkan menentukan jurusan Teknik Industri maka kamu akan terjun di berbagai bidang mirip elektronik, ekonomi, komputer dan juga kimia. Bagi kau yang berkeinginan menjadi developer kau dapat berkonsentrasi pada teknik komputasi karena didalamnya juga belajar mengenai algoritma dan pemrograman dan tata cara pendukung keputusan atau atau interaksi insan dan komputer.

Untuk menjadi developer kamu mesti mengerti algoritma dan pemrograman, struktur data dan kompleksitas disamping itu kamu pun mesti mampu bernegosiasi dan mengecek keperluan metode yang hendak dibangun. Seorang developer mesti tetap mengikuti pertumbuhan teknologi yang selalu berganti.

Apa Relevansinya Algoritma Dengan Flowchart?

Algoritma dan flowchart ialah sesuatu hal yang cukup penting bagi kau yang bergerak di bidang pemrograman. Algoritma ialah hal dasar yang wajib dikuasai oleh para programmer, bahkan bagi kau yang gres mengawali belajar pemrograman direkomendasikan mencar ilmu algoritma pemrograman terlebih dahulu. Algoritma ini akan membantu kau untuk lebih mengerti proses computational thinking, dan pemahaman ini sungguh penting bagi programmer.

Saat kamu mulai menyusun algoritma, kau juga akan berkenalan dengan yang namanya flowchart. Melalui flowchart ini kamu akan lebih gampang dalam mengetahui sebuah algoritma yang ada. Lalu apa sih korelasi antara algoritma dengan flowchart ini? Yuk, mari kita bahas bersama-sama.

Apa itu Algoritma?

Menurut Rinaldi Munir, algoritma adalah urutan tindakan logis solusi persoalan yang disusun secara sistematis. Sedangkan berdasarkan KBBI definisi dari algoritma yakni urutan logis pengambilan keputusan untuk pemecahan dilema. Berdasarkan definisi sebelumnya, maka mampu ditarik kesimpulan bahwa algoritma ialah salah satu ilmu yang mempelajari cara menyelesaikan suatu masalah dengan memakai urutan langkah-langkah yang disusun secara sistematis.

Sebuah algoritma di dalamnya berisi tindakan solusi problem. Notasi algoritma yaitu hal dasar yang mesti dikuasai oleh kau sebagai seseorang yang mau membuat suatu program. Notasi algoritma ini cukup penting sebab didalamnya berisi kerangka sebuah program. Penjelasan dari langkah-langkah yang ada pada algoritma tidak merujuk pada sintaks bahasa pemrograman tertentu maupun spesifikasi perangkat yang digunakan untuk mengerjakan algoritma.

Sebenarnya ketika kamu menuliskan tindakan pada algoritma, kau tidak terikat oleh aturan yang baku dalam menuliskan algoritma. Yang terpenting gampang untuk dibaca dan menerapkan bahasa atau ungkapan yang mudah untuk diketahui. Walaupun begitu, supaya menghemat kekeliruan, kamu mesti memperhatikan notasi. Setidaknya ada tiga cara yang lazimnya dipergunakan saat menuliskan algoritma, yaitu deskriptif, pseudocode dan flowchart.

Apa itu Flowchart?

Flowchart yaitu cara penulisan suatu algoritma dengan memakai notasi visual atau grafis. Grafis pada flowchart berbentuk gambar atau bagan yang mengilustrasikan urutan atau langkah-langkah dari sebuah algoritma serta korelasi antar proses dan pertanyaannya. Ilustrasi ini ditulis dalam bentuk simbol, setiap simbol mengilustrasikan proses tertentu. Sedangkan untuk menghubungkan setiap proses diilustrasikan dengan garis penghubung.

Melalui penerapan flowchart kamu akan dimudahkan dalam melaksanakan pengecekan dan mengetahui alur kerjanya. Flowchart juga bisa digunakan selaku sarana untuk melaksanakan komunikasi antara orang-orang yang ada pada sebuah proyek supaya lebih cepat mengetahui maksud dan maknanya. Disamping itu flowchart bisa menolong programmer dalam memecah problem ke dalam beberapa bab yang lebih kecil sehingga bisa dianalisa solusi alternatif dari bab-bagian persoalan tersebut.

Flowchart akan mengilustrasikan urutan isyarat yang dimodelkan dalam bentuk simbol tertentu dalam memecahkan urusan pada sebuah program. Setiap mekanisme atau langkah yang dilakukan akan diberikan informasi yang lebih rincian pada sebuah flowchart. Flowchart sering dipakai oleh para programmer untuk mengilustrasikan urutan instruksi dari sebuah acara. Selain itu flowchart juga sering dipakai analisis metode untuk mengilustrasikan urutan pekerjaan dalam suatu mekanisme.

Aturan Flowchart

Flowchart ialah gambaran hasil pedoman ketika kamu menganalisa sebuah permasalahan yang nantinya akan diterjemahkan ke dalam bahasa pemrograman untuk dijadikan suatu program. Oleh alasannya itu saat kamu akan membuat flowchart untuk suatu acara atau algoritma, kau tidak terikat pada aturan atau tolok ukur yang sifatnya mutlak. Flowchart yang dihasilkan pun bisa bervariasi antara yang satu dengan lainnya, meskipun permasalahannya sama. Akan namun kau juga perlu memperhatikan beberapa rekomendasi penulisan notasi algoritma agar flowchart yang kamu buat mudah untuk dipahami berikut ini :

  1. Gunakan simbol-simbol flowchart yang telah dijadikan standar
  2. Penentuan aktivitas dimulai dan berakhir harus terperinci, simbol titik permulaan dan titik final pada flowchart cuma ada satu.
  3. Setiap langkah dari sebuah acara mesti dijelaskan menggunakan deskripsi kata kerja. Misalkan “Menghitung nilai x”
  4. Aktivitas yang diilustrasikan didefinisikan dengan bahasa dan simbol yang tepat dan terang.
  5. Setiap langkah dari acara mesti terletak pada urutan yang benar
  6. Suatu flowchart diilustrasikan di halaman yang dimulai dari sisi atas ke bawah dan dari segi sebelah kiri ke sisi sebelah kanan.

Hubungan Algoritma dengan Flowchart

Sebenarnya dari uraian sebelumnya di atas, mungkin kau telah mampu menyimpulkan apa relasi dari algoritma dengan flowchart. Akan tetapi semoga kau lebih memahaminya lagi, silahkan perhatikan analogi berikut ini. 

Misalkan kau memiliki sebuah masalah yaitu bagaimana cara memilih bilangan ganjil atau genap. Maka kau akan menimbang-nimbang penyelesaian dari persoalan tersebut, bagaimana tindakan penyelesaiannya. Setelah kamu sukses menciptakan algoritmanya, maka semoga algoritma tentang cara menentukan bilangan ganjil atau genap tadi bisa dipakai dan diketahui oleh orang lain. Maka kau akan menuliskan algoritma tersebut memakai notasi algoritma, salah satunya ialah flowchart.

Cara menuntaskan persoalan ini yakni dengan membagi bilangan dengan angka 2, apabila nilai sisa baginya adalah 0 maka bilangan tersebut termasuk bilangan genap. Sedangkan apabila sisa baginya ialah 1 maka bilangan tersebut termasuk ke dalam bilangan ganjil. Flowchart dari urusan ini bisa dilihat pada gambar di bawah.

Pada flowchart di atas, Bil ialah perumpamaan untuk bilangan yang akan di cek bilangannya apakah tergolong bilangan ganjil atau genap.

Berdasarkan analogi tersebut maka bisa disimpulkan bahwa relasi antara algoritma dengan flowchart yaitu selaku penjelas. Flowchart disini sebagai notasi algoritma dengan memakai gambar atau simbol sebagai penjelas atau deskripsi dari sebuah algoritma. Algoritma perlu kamu notasikan, bisa dalam bentuk flowchart, deskripsi maupun pseudocode. Notasi ini akan memiliki kegunaan ketika orang lain memahami algoritma yang kamu buat dan juga selaku pengingat untuk kau ketika menggunakan algoritma tersebut.

“Dengan memvisualisasikan informasi, kami menggantinya menjadi lanskap yang mampu kau jelajahi dengan mata kau, semacam peta gosip. dan dikala kamu kehilangan isu, peta berita tersebut akan berguna” (David McCandless)

Apa Itu Sql? Pengertian, Jenis Beserta Fungsinya

Di periode serba data mirip sekarang ini, aplikasi memerlukan sebuah database dalam menyimpan data-data aplikasinya. SQL yaitu singkatan dari Structured Query Language dan salah satu unsur penting dalam membuat suatu aplikasi. Keberadaan SQL sebagai bahasa yang biasa digunakan dalam hal pengaksesan data, sangat menolong dalam pengelolaan data secara digital dan memberikan fasilitas pengguna dalam mengakses data tersebut.

“Kamu dapat mempunyai data tanpa adanya isu, namun kamu tidak mampu mempunyai info tanpa adanya data.” (Daniel Keys Moran)

Kamu mungkin pernah membangun sebuah aplikasi web maupun desktop, mirip yang kamu pahami bahwa aplikasi yang kau berdiri sering kali membutuhkan suatu database server untuk menampung segala jenis bentuk info atau data. Misalkan data yang dibutuhkan oleh aplikasi mirip data pengguna meliputi username, email, password, foto, tanggal lahir, jenis kelamin dan lain sebagainya. Dalam hal ini, SQL bertugas selaku metode manajemen database yang akan mengorganisir data-data pada aplikasi tersebut.

Kamu jangan salah paham tentang SQL sebagai software database management system. Karena SQL bukanlah alat dalam menyimpan sebuah data melainkan alat untuk mengelola data pada suatu aplikasi. Dengan kata lain SQL yakni bahasa yang menghubungkan antara aplikasi dengan DBMS, dengan menggunakan SQL kau mampu mengakses data tersebut melalui aplikasi yang sedang kau bangkit.

Pengertian SQL

SQL ialah kependekan dari Structured Query Language, yang memiliki kegunaan selaku bahasa khusus dalam mengakses dan mengurus data-data yang ada di dalam suatu basis data relasional. Saat pengaksesan atau pengelolaan data memakai perintah-perintah khusus sehingga data bisa dimanipulasi atau diatur dengan baik.
Perintah-perintah khusus yang berguna dalam mengorganisir database umumdisebut dengan query. Perintah-perintah SQL tersebut sudah memiliki persyaratan khusus yang diakui oleh ANSI (American National Standard Institute) selaku bahasa pemrograman database. Pengakuan akan standarisasi SQL tersebut sudah diakui semenjak tahun 1986.

Jenis SQL

Berbicara mengenai perintah atau arahan yang ada pada SQL, perintah SQL bisa dibagi menurut jenis nya. Secara garis besar setidaknya ada empat jenis perintah dalam SQL yang perlu kau ketahui, berikut penjelasanya.  

1. Data Definition Language (DDL)

Jenis perintah data definition language (DDL) ialah perintah SQL yang paling fundamental. Perintah DDL dipakai untuk mendefinisikan atau membuat struktur sebuah basis data beserta tabelnya. Terdapat beberapa perintah yang tergolong ke dalam DDL, seperti berikut :
Perintah CREATE mampu kau gunakan dikala akan membuat sebuah database,  tabel maupun kolom gres.
Perintah DROP bisa kau gunakan dikala akan meniadakan sebuah database, tabel maupun kolom yang sudah ada.
Perintah SHOW bisa kamu gunakan untuk menampilkan isi dari sebuah tabel yang telah ada sebelumnya.
Perintah ALTER mampu kau gunakan saat ingin merubah struktur tabel mencakup merubah nama tabel, menambah, merubah dan menghapus kolom, serta menambah atribut yang lain.
Perintah RENAME mampu kamu gunakan dalam merubah nama suatu tabel maupun kolom yang telah ada.

2. Data Manipulation Language (DML)

Jenis perintah selanjutnya yaitu DML (data manipulation language) yang ada pada SQL. Perintah DML ini, berfungsi untuk memanipulasi data yang ada pada suatu database. Perintah DML terdiri dari beberapa perintah seperti berikut :
Perintah INSERT mampu kamu gunakan dikala akan menyertakan atau memasukkan suatu record baru pada sebuah tabel di database.
Perintah SELECT mampu kamu gunakan dalam memilih tabel, kau juga bisa merelasikan suatu tabel dengan tabel yang lain sehingga data yang kau ambil mampu dari beberapa tabel.
Perintah DELETE bisa kamu gunakan ketika kamu ingin menghapus sebuah record  yang telah ada sebelumnya pada sebuah tabel.
Perintah UPDATE bisa kau gunakan ketika kamu akan melakukan pembaruan atau perubahan terhadap data yang ada pada suatu record di tabel.

3. Data Control Language (DCL)

Perintah SQL selanjutnya adalah perintah data control language (DCL). Perintah DCL ini biasa dipakai khusus untuk menertibkan hak jalan masuk apa saja yang dimiliki oleh pengguna. Dengan mengontrol hak terusan kepada pengguna database, kau mampu membatasi hak pengguna kepada sebuah database atau pada sebuah tabel maupun pada field yang ada. Sehingga database mampu menjaga kerahasiaan atau privasinya. Beberapa perintah pada DCL mirip berikut :
Perintah GRANT mampu kamu gunakan ketika ingin menunjukkan hak jalan masuk terhadap pengguna yang lain. Hak susukan yang kau berikan dapat dikelola sesuai dengan kebutuhan bahkan pembatasan kepada perintah DML.
Perintah REVOKE ini yakni kebalikan dari perintah GRANT, perintah REVOKE bisa kau gunakan untuk mencabut hak jalan masuk yang sebelumnya telah diberikan terhadap pengguna.

4. Transaction Control Language (TCL)

Jenis perintah SQL berikutnya yang tak kalah penting yakni transaction control language (TCL). Perintah TCL lazimnya dipakai untuk pengontrolan proses transaksi data yang sungguh sensitif. Yang tergolong ke dalam perintah TCL mirip COMMIT, ROLLBACK dan SET TRANSACTION.
Perintah COMMIT bisa kamu gunakan saat menyelesaikan transaksi data dengan menerapkan pergeseran yang sudah dijalankan secara permanen.
Perintah ROLLBACK mampu kau gunakan dalam membatalkan pergeseran yang sudah dilakukan. Kamu juga mampu membatalkan transaksi pada bagian tertentu dengan memutuskan SAVE POINT.

Fungsi SQL

Fungsi SQL bahwasanya ada banyak tergantung dari sudut pandang mana yang dipakai. Akan tetapi secara biasa keberadaan SQL selaku bahasa pengelolaan database berfungsi dalam mengelola sebuah data pada database yang digunakan oleh aplikasi. Yang memungkinkan kamu untuk mengubah maupun mengakses database atau melakukan query yang diperlukan.
Selain dari itu SQL juga berfungsi sebagai penghubung antara aplikasi dengan berbagai database. Karena bahasa SQL hampir disokong oleh aneka macam macam database. Dan juga SQL berfungsi dalam melaksanakan pembuatan database yang kompleks.

Pemeliharaan Perangkat Lunak (Kategori, Model Pemeliharaan Dan Proses Pemeliharaan)

Pengertian Pemeliharaan Perangkat Lunak

Maintenance software atau pemeliharaan perangkat lunak adalah proses memodifikasi tata cara perangkat lunak atau komponen-bagian perangkat lunaknya sehabis penggunaan oleh kosumen atau klien untuk memperbaiki kerusakan, memajukan kinerja, manfaat, atau mutu dan optimalitas untuk menyesuaikan metode perangkat lunak dengan lingkungan yang selalu berubah-ubah. Dari definisi di atas, hal ini menegaskan bahwa proses pemeliharaan perangkat lunak yaitu proses yang sidatnya post-delivery, artinya dijalankan sesudah sistem perangkat lunak dipakai oleh pelanggan ataupun klien.

Source: www.lynda.com

Aktivitas pemeliharaan sistem ini dimulai sejak sistem perangkat lunak telah diserahkan ke pasaran dan digunakan oleh konsumen atau klien dan meliputi segala acara yang mempertahankan operasional sistem dan kesesuaian tata cara dengan kebutuhan pengguna.

Menurut Pigoski berpendapat bahwa pemeliharaan perangkat lunak, yaitu suatu acara keseluruhan yang dilaksanakan dalam menyediakan tunjangan yang murah dan efektif kepada sistem perangkat lunak. Aktivitas dapa berbentukpre-delivery dan post-delivery. Aktivitas pre-delivery berbentukpenyusunan rencana untuk operasi post-delivery, supportabilitas dan penentuan logistik. Sedangkan aktivitas post-delivery berupa penyesuaian perangkat lunak, pembinaan dan mengoperasikan help desk.

Kategori Pemeliharaan Perangkat Lunak

Pemeliharaan perangkat lunak terbagi menjadi beberapa klasifikasi menurut Lientz dan Swanson, yaitu pemeliharaan adaptif, korektif dan perfektif. Berikut penjelasan dari ketiga komponen klasifikasi pemeliharaan perangkat lunak :

  1. Pemeliharaan Adaptif meliputi segala pergantian yang dibutuhkan sebagai konsekuensi dari perubahan lingkungan di mana tata cara beroperasi, mirip pergeseran sistem operasi, perangkat keras, DBMS, jaringan komputer ataupun lain sebagainya.
  2. Pemeliharaan Korektif mencakup segala perubahan yang dilaksanakan dalam menghilangkan kerusakan positif ataupun celah pada metode perangkat lunak.
  3. Pemeliharaan Perpektif meliputi segala pergeseran yang berawal dari undangan pengguna.

Kategori pemeliharaan perangkat lunak menurut IEEE terbagi ke dalam empat kategori, adalah selaku berikut :

  1. Pemeliharaan Korektif yakni pergeseran reaktif pada perangkat lunak yang dijalankan sehabis penggunaan perangkat lunak oleh pelanggan dalam memperbaiki kerusakan yang didapatkan.
  2. Pemeliharaan Adaptif adalah pergantian pada perangkat lunak yang dijalankan sesudah penggunaan perangkat lunak oleh klien atau pelanggan biar perangkat lunak tersebut dapat dipakai pada lingkungan yang berubah.
  3. Pemeliharaan perfektif adalah pergeseran pada perangkat lunak yang dijalankan sesudah penggunaan perangkat lunak oleh klien atau pelanggan guna meningkatkan kinerja dan optimalitas perangkat lunak.
  4. Pemeliharaan Emergensi adalah pemeliharaan korektif yang tidak dijadwalkan untuk menjaga operasional tata cara.

Permasalahan Pemeliharaan Perangkat Lunak

Pemeliharaan suatu sistem umumnya merupakan kegiatan yang menghasbiskan ongkos. Hal ini dikarenakan menambahkan fungsionalitas metode yang sedang beroperasi jauh lebih mahal dibandingkan dengan menyertakan fungsionalitas metode dikala tahap pengembangan.

Faktor yang membedakan antara pengembangan dengan pemeliharaan yang berakibat pada mahalnya ongkos pemeliharaan yaitu :

  • Stabilitas Sistem, Setelah sistem dipasarkan, lazimnya tim pengembang dibubarkan dan setiap anggota melakukan pekerjaan pada proyek yang baru. Tim yang kemudian bertanggung jawab terhadap pemeliharaan tidak memiliki pemahaman yang menyeluruh perihal peragkat lunak yang bersangkutan sehingga butuh waktu dan perjuangan pemanis dalam mengerti perangkat lunak tersebut.
  • Tanggung Jawab Kontraktual, Kontrak untuk pemeliharaan perangkat lunak umumnya terpisah dari kesepakatan untuk pengembangan perangkat lunak.
  • Keahlian Staff, Staf pemeliharaan kadang kala kurang terlatih dan tidak terbiasa dengan domain aplikasi. Proses pemeliharaan perangkat lunak acap kali dianggap sebagai proses yang tidak memerlukan skill yang tinggi dibanding dengan pengembangan perangkat lunak yang memerlukan skill yang tinggi, hal ini mengakibatkan staff bab pemeliharaan seeringkali yakni staff dengan level ingusan.
  • Usia dan Struktur Program, seiring dengan usia program, struktur dari acara juga ikut berubah sehingga semakin sukar untuk dikenali dan diubah. Beberapa bagian perangkat lunak tidak dikembangkan dengan teknik RPL modern, sehingga tidak pernah diatur dengan baik dan kemungkinan dokumentasi sistem mampu saja hilang atau inkosisten sehingga sukar untuk diketahui.

Model Pemeliharaan Perangkat Lunak

Quick-Fix Model

Pendekatan tipikal guna pemeliharaan perangkat lunak adalah dengan mengganti aba-aba atau skrip acara terlebih dahulu, lalu membuat pergeseran yang diharapkan pada dokumentasi program. Melalui pendekatan ini disebut pendekatan quick-fix versi. Idealnya sesudah skrip diubah, maka dokumentasi terkait perancangan, kebutuhan, analisis, pengujian dan hal-hal lain yang terkait dengan perangkat lunak tersebut mesti diubah juga dengan menyesuaikan dedngan pergeseran pada skrip program. Akan tetapi realitanya di lapangan menunjukkan bahwa perubahan pada skrip program kadang tidak didokumentasikan disebabkan oleh waktu dan biaya sehingga tim pemelihara tidak sempat untuk mengganti dokumentasi acara.

Iterative-Enhacement Model

Model siklus hidup evolutionary menawarkan pendekatan alternatif guna pemeliharaan perangkat lunak. Model ini menyaakan bahwa keperluan tata cara tidak dapat dikumpulkan dan dipahami pada tahap awal, sehingga tata cara dibangun dengan memperbaiki keperluan dari rancangan bangunan sistem sebelumnya menurut timbal balik dari pengguna. Kelebihan dari mode ini ialah dokumentasi dari metode senantiasa berubah seiring dengan pergantian pada skrip program.

Full-Reuse Model 

Model ini memandang pemeliharaan selaku sebuah masalah dari pengembangan perangkat lunak berorientasi guna ulang atau daur ulang. Full-reuse diawali dengan analisis keperluan, desain, arahan dan pengujian dari sisem versi sebelumnya yang telah ada. Model ini mendukung evolusi tata cara untuk mempermudah penyesuaian kedepannya. Model Full-reuse cocok untuk dipakai pada pengembangan tata cara-tata cara yang berkaitan. Model ini mengumpulkan unsur-unsur yag reusable pada level abstraksi yang berbeda-beda dan menyebabkan pengembangan metode ke depannya menjadi lebih ekonomis.

Proses Pemeliharaan Perangkat Lunak

Ada beberapa model proses pemeliharaan perangkat lunak. Model-versi ini mengorganisasikan pemeliharaan perangkat lunak menjadi serangkaian aktivitas terkait dan memilih urutan dari masing-masing acara. 

Proses Pemeliharaan Versi IEEE-12 19

Standar IEE mengorganisasikan proses pemeliharaan menjadi tujuh tahap Pada tiap tahap, tolok ukur IEE memutuskan input dan output pada tiap tahap, mengelompokan dan mengkaitkan kegiatan-acara, mendukung proses-proses , kontrol dan sekumpulan metrik.

  1. Identifikasi, klasifikasi dan penentuan prioritas modifikasi. Pada tahap ini, seruan  pergantian yang diajukan oleh konsumen, pengguna, programmer atau manajer ditetapkan sebagai kategori pemeliharaan dan memutuskan prioritas. Tahap ini juga mencakup acara dalam memilih apakah undangan tersebut disetujui atau tidak dan menetapkan ke dalam jadwal pengimplimentasiannya.
  2. Analisis. Pada tahap ini mencakup penyusunan rencana awal untuk perancangan, implimentasi, pengujian dan pemasaran. Tahap ini berisikan dua level, analisis feasibilitas yang menentukan solusi alternatif beserta efek dan biaya penyelesaian tersebut dan juga analisis rincian yang menentukan keperluan untuk memodifikasi, strategi pengujian dan membangun rencana pengimplimentasian.
  3. Perancangan. Modifikasi metode dirancang pada tahap ini. Kegiatan ini memakai keseluruhan dokumentasi tata cara dan proyek, basidata dan perangkat lunak yang ada, dan output dari tajap analisis. Kegiatan ini meliputi identifikasi modul yang terpengaruh, modifikasi dokumentasi modul perangkat lunak, pembangunan kasus uji untuk desain yang gres dan identifikasi pengujian regresi.
  4. Implementasi. Tahap ini mencakup kegiatan coding dan unit testing, integrasi modul yang sudah dimodifikasi, integration dan regression testing, analisis resiko, dan kajian. Tahap ini juga meliputi kajian kesiapan pengujian untuk memutuskan kesiapan untuk pengujian tata cara dan regresi
  5. Regression/system testing. Pada tahap ini keseluruhan tata cara diuji untuk memutuskan kesesuaian dengan kebutuhan permulaan dan juga modifikasi kebutuhan tersebut. Selain pengujian fungsional dan antarmuka, tahap ini juga mencakup pengujian regresi untuk memvalidasi tidak ada kerusakan gres yang timbul
  6. Acceptance testing. Pengujian ini fokus pada metode yang telahterintegrasi sepenuhnya dan melibatkan pengguna, pelanggan, atau pihak ketiga yang dirancang oleh konsumen. Pengujian ini meliputi pengujian fungsional, interoperabilitas, dan regresi
  7. Delivery. Pada tahap ini, metode dirilis untuk diinstal dan dioperasikan. Aktivitas ini meliputi pemberitahuan terhadap pengguna, melaksanakan instalasi dan training, serta menyiapkan backup dari perangkat lunak versi sebelumnya

Teknik Pengujian Black-Box Testing Dan White-Box Testing

Saat ini metode pengujian perangkat lunak telah banyak meningkat seiring makin beragamnya platform dan tujuan perangkat lunak. Metode-tata cara pengujian tersebut menunjukkan pendekatan yang sistematik dalam menguji perangkat lunak. Di samping itu, metode-metode tersebut mampu menunjukkan mekanisme yang bisa membantu dalam memastikan kelengkapan pengujian dan memperlihatkan kemungkinan tertinggi dalam menguak kesalahan pada perangkat lunak.
Program rekayasa perangkat lunak dapat diuji dengan satu atau dua cara, yakni :
  1. Dengan mengetahui fungsi yang diputuskan untuk dikerjakan oleh sebuah produk RPL, pengujian mampu dilaksanakan untuk menunjukkan bahwa masing-masing fungsi berlangsung sepenuhnya dan pada waktu yang sama mencari kesalahan pada setiap fungsi. Pendekatan pengujian ini lazimdisebut dengan sebutan pengujian black-box atau black-box testing.
  2. Dengan mengenali kerja internal produk RPL, maka pengujian mampu dilakukan dalam memutuskan bahwa semua operasi internal melakukan pekerjaan sesuai dengan spesifikasi dan segala komponen interna telah diperhatikan dengan mencukupi. Pendekatan pengujian ini umumdisebut dengan istilah pengujian white-box atau white-box testing.

Pengujian Black-box 

Pengujian black-box ialah pengujian berhubungan dengan pengujian yang dilaksanakan pada interface perangkat lunak. Walaupun dirancang untuk menguak kesalahan, pengujian black-box dipakai untuk menunjukkan bahwa fungsi-fungsi yang ada pada perangkat lunak mampu beroperasi, bahwa inputan diterima dengan baik dan output dihasilkan secara tepat, serta integritas info eksternal dipelihara dengan baik. Black-box testing menguji beberapa faktor dasar sebuah metode dengan memperhatikan sedikit struktur logika internal pada perangkat lunak.

Pengujian White-box

Pengujian white-box ialah pengujian yang didasari pada pengamatan yang teliti perihal detail prosedural. Jalur-jaur nalar yang melewati perangkat lunak diuji dengan menunjukkan perkara uji atau skenario pengujian yang menguji serangkaian keadaan atau perulangan (loop) tertentu. Status acara mampu diuji pada aneka macam titik untuk memilih apakah status yang diharapkan dengan status sesungguhnya.
Dari paparan mengenai pengujian black-box dan white-box di atas sebelumnya, sekilas dapat disimpulkan bahwa pengujian white-box yang sangat teliti akan mampu menjinjing perangkat lunak kepada program yang benar 100%. Yang diperlukan adlaah memilih semua jalur nalar, menyebarkan masalah uji untuk mengujinya dan menganalisa kesannya, yakni memunculkan perkara uji untuk menguji nalar acara secara lebih mendalam. Akan tetapi sesuai dengan prinsip pengujian, pengujian secara mendalam akan menjadikan masalah sumber daya atau logistik. Bahkan bagi program dalam kecil-kecilan, akal dapat dibangkitkan dengan jumlah jalur nalar yang besar.
Pengujjian white-box dilarang dianggap tidak mudah. Sejumlah jalur nalar yang penting mampu dipiih dan digunakan. Struktur-struktur data yang penting mampu diperiksa kevalidalitasnya. Atribut pengujian black-box dan white-box mampu digabungkan secara bersamaan dalam menunjukkan penekatan yang memvalidasi antarmuka dan secara selektif menjamin bahwa proses internal perangkat lunak sudah benar.

Black-box Testing

Pengujian ini berkonsentrasi pada kriteria fungsional perangkat lunak. Black-box memungkinkan pelaku RPL mendapatkan serangkaian keadaan input yang memenuhi syarat fungsional suatu perangkat lunak.
Black-box testing akan berupaya dalam menemukan kesalahan dengan kategori sebagai berikut ini :
  • Fungsi-fungsi yang rusak atau salah
  • Kesalahan antarmuka perangkat lunak
  • Kesalahan kinerja
  • Kesalahan inisialisasi ataupun terminasi
  • Kesalahan struktur data atau terusan basis data
Pengujian black-box lebih condong untuk dilakukan pada tahap akhir dan dituntut untuk menjawab pertanyaan-pertanyaan mirip berikut :
  • Apakah sistem sangat sensitif kepada nilai input tertentu?
  • Bagaimana validitas fungsional diuji
  • Apa pengaruh kombinasi tertentu dari data terhadap operasi sistem?
  • Berapa kecepatan dan volume data yang dapat ditangani metode?
  • Bagaimana batas-batas suatu data diisolasi?
Melalui pengujian black-box ini, penguji musti merancang serangkaian masalah uji atau skenario pengujian yang dapat memberi tahu mengani ada atau tidaknya kesalahan dan dapat meminimalisir jumlah perkara uji atau skenario uji yang harus dirancang untuk meraih pengujian yang benar.

Teknik Pengujian Black-box

Contoh penguian black-box diantaranya ialah sebagai berikut :

Boundary Value Analysis

Merupakan teknik pengujian yang membagi domain-domain input dari sebuah program ke dalam keompok-golongan data, kemudian melaksanakan pengujian cuma pada batasan domain input tersebut. 
Source : testbytes.net

Graph Based Testing Method

Teknik pengujian black-box ini melibatkan gambar grafik yang mengilustrasikan relasi antara penyebab (input) dan pengaruh (output), yang menyebabkan terjadinya hasil. Pengujian ini memakai kombinasi output dan input yang berlawanan.
Source : testbytes.net

Decision Table Testing

Dalam beberapa masalah, kombinasi input menjadi sangat rumit untuk melacak beberapa kemungkinan. Situasi rumit mirip ini bergantung pada tabel keputusan, karena menawarkan penguji pandangan teratur tentang variasi input dan output yang diperlukan. Teknik ini identik dengan teknik pengujian berbasis grafik; perbedaan utamanya adalah memakai tabel alih-alih diagram atau grafik.
Source : testbytes.net

Equivalence Partitioning

Teknik pengujian black-box ini banyak digunakan untuk menulis perkara uji. Ini dapat memiliki kegunaan dalam meminimalkan serangkaian input yang mungkin menjadi input yang lebih kecil tetapi efektif. Ini dikerjakan lewat pembagian input selaku kelas, dan setiap kelas diberi nilai. Ini diterapkan ketika kebutuhan untuk pengujian lengkap muncul dan untuk menolak redundansi input.
Source : testbytes.net

State Transition Testing

Teknik ini umumnya memikirkan kondisi, keluaran, dan input dari sebuah metode selama kurun tertentu. Berdasarkan pada jenis perangkat lunak yang diuji, dia menilik pergantian perilaku sebuah tata cara dalam kondisi tertentu atau keadaan lain sambil mempertahankan input yang sama. State transitition testng teknik ini dibuat dengan mengusut urutan transisi dan kondisi atau kejadian di antara input.

White-box Testing

White-box testing yaitu metode desain perkara uji yang menggunakan struktur kontrol desain prosedural untuk memperoleh perkara uji. Dengan menggunakan metode pengujian white box, pelaku RPL dapat melakukan perkara uji yang merujuk pada :
  • Memberikan jaminan bahwa seluruh jalur independen pada sebuah modul telah dipakai paling tidak satu kali.
  • Menggunakan struktur data internal untuk menjamin validitasnya.
  • Mengeksekusi semua loop pada batasan dan pada batas operasionalnya.
  • Menggunakan semua keputusan logis pada sisi true dan false.
Sifat cacat internal pada perangkat lunak sangat mungkin didapatkan dengan memakai pengujian white-box sedangkan black-box mustahil mampu menemukannya. Alasan inilah yang mendasari mengapa pengujian white-box dilakukan.

Teknik White-box Testing

Teknik pengujian white-box testing diantaranya yakni

Basis Path Testing

Metode ini memungkinkan perancang masalah uji untuk mengukur kompleksitas logis dari desain prosedural dan menggunakannya selaku pedoman untuk memutuskan sekumpulan jalur eksekusi dasar (basis set). Kasus uji yang dijalankan untuk menggunakan basis set tersebut dijamin untuk menggunakan setiap statement dalam acara paling tidak sekali selama pengujian. Metode ini memakai notasi flow graph yang menggambarkan ajaran kontrol nalar yang memakai notasi yang ditunjukkan pada gambar di bawah ini: 

Condition Testing

Definisinya yaitu sebuah tata cara disain test case yang menyelidiki kondisi akal yang terdapat pada modul acara.
Source : stackexchange.com

Data Flow Testing

Data Flow Testing adalah seni manajemen spesifik pengujian perangkat lunak yang berkonsentrasi pada variabel data dan nilainya. Itu menggunakan grafik fatwa kendali. Ketika datang ke kategorisasi, pengujian aliran data akan dapat dianggap selaku jenis pengujian kotak putih dan jenis pengujian struktural. Itu menciptakan cek di titik penerimaan data oleh variabel dan titik penggunaannya. Hal ini dilaksanakan untuk menutup jalur pengujian dan celah pengujian cabang.
Data flow testing (semanticscholar.org)

Loop Testing

Loop testing yakni sebuah teknik white box testing yang berfokus pada validitas konstruksi loop (insiden berulang) secara pribadi.

Pengujian Perangkat Lunak (Tujuan, Prinsip Dan Taktik Pengujian)

Dalam proses rekayasa perangkat lunak, pelaku rekayasa perangkat lunak awalnya berupaya untuk membangun dan berbagi perangkat lunak dari mulai abstraksi hingga ke tahapan penerapan, barulah lalu dilakukan pengujian perangkat lunak. Ketika melaksanakan pengujian perangkat lunak, pelaku menciptakan sekumpulan kasus atau skenario pengujian yang hendak diujikan kepada perangkat lunak yang telah simpulan dibangun. Proses pengujian perangkat lunak lebih berkonsentrasi pada sisi desktruktif daripada sisi konstruktifnya, hal ini alasannya maksudnya yakni untuk memperoleh kesalahan pada perangkat lunak.
source : skelia.com

Sasaran atau Tujuan Pengujian Perangkat Lunak

Pengujian perangkat lunak dikerjakan dengan sasaran sebagai berikut ini :
  1. Pengujian yakni proses mengeksekusi program dengan tujuam untuk memperoleh kerusakan maupun kesalahan pada acara.
  2. Kasus atau skenario uji yang baik yakni yang memiliki tingkat kemungkinan tinggi untuk memperoleh kerusakan yang belum didapatkan.
  3. Pengujian dapat dikatakan sukses kalau berhasil mendapatkan kerusakan yang belum ditemukan sebelumnya.
Dari target diatas mengimplikasikan adanya perubahan cara pandang dimana pengujian yang sukses ialah pengujian yang tidak memperoleh kesalahan maupun kerusakan. Apabila pengujian telah simpulan dikerjakan, maka diperlukan ditemukan adanya kesalahan dalam perangkat lunak. Sekaligus selaku benefit tambahan, pengujian dalam hal ini memberikan bahwa fungsi perangkat lunak bekerja dan berlangsung sesuai dengan spesifikasi bahwa standar kinerja sudah tercukupi.
Ketika melaksanakan pengujian, data perlu dikumpulkan agar menunjukkan indikasi yang bagus terhadap realibilitas perangkat lunak dan beberapa indikasi dari kualitas keseluruhan perangkat lunak. Namun, pengujian tidak mampu memberikan ataupun memastikan bahwa perangkat lunak yang diuji tersebut tidak mempunyai cacat sama sekali.

Prinsip Pengujian Perangkat Lunak

Berikut merupakan serangkaian prinsip ketika melakukan pengujian perangkat lunak :
  • Semua pengujian musti dapat ditelusuri sampai ke keperluan klien. Hal ini menyanggupi kriteria bahwa kesalahan yang paling vital dilihat dari sudut pandang klien yakni cacat yang mengakibatkan program gagal menyanggupi persyaratannya.
  • Supaya pengujian perangkat lunak bisa lebih efektif, pengujian mesti dijalankan oleh pihak ketiga yang independen atau terpisah. Hal ini dimaksudkan supaya pengujian memiliki tingkat kemungkinan yang tinggi dalam menemukan kesalahan. Oleh karena itu pelaku yang menyebarkan perangkat lunak tersebut bukanlah orang yang paing sempurna untuk melaksanakan semua pengujian perangkat lunak.
  • Pengujian harus dimulai dari hal yang terkecil dan meningkat ke pengujian yang lebih besar. Pengujian pertama kali berkonsentrasi pada modul individual perangkat lunak yang kemudian mengubah fokus pengujian pada kluster modul yang berkaitan dan hasilnya pada metode secara keseluruhan.
  • Tidak memungkinkan melaksanakan pengujian yang mendalam. Jumlah masalah maupun jalur permutasi pada program yang berukuran menengah sampai sangat besar sulit dilaksanakan pengujian secara mendalam. Namun, dimungkinkan untuk menguji logika program dan menentukan bahwa segala kondisi pada rancangan telah diuji.
  • Pengujian musti dijadwalkan jauh-jauh hari sebelum pengujian dimulai. Perencanaan pengujian bisa dimulai segera saat model keperluan dilengkapi dan model perancangan final dibuat. Dengan ini diperlukan, semua pengujian dapat direncanakan dan dirancang sebelum semua isyarat diimplimentasikan.

Strategi Pengujian Perangkat Lunak

Proses pengujian perangkat lunak mampu diilustrasikan pada gambar di bawah ini.
Gambar spiral diatas mengilustrasikan bagaimana rekayasa tata cara membangun suatu perangkat lunak diulai dari penentuan kebutuhan perangkat lunak, kemudian dilanjut dengan membentuk rancangan hingga kesudahannya ke pengkodean. Strategi atau skema pengujian dimulai dengan unit testing dimana masing-masing unit perangkat lunak yang diimplimentasikan menjadi target pengujian, kemudian dilaksanakan integration testing dengan konsentrasi pengujian yaitu rancangan dan konstruksi arsitektur perangkat lunak, hingga dikerjakan validation testing dengan sasaran pengujian yaitu kesesuaian dengan kebutuhan perangkat lunak yang telah ditentukan di permulaan pengembangan, dan berakhir pada system testing, dimana perangkat lunak dan keseluruhan unsur sistem diuji.

Unit Testing

Unit testing lebih berkonsentrasi pada unit terkecil dari perangkat lunak. Jalur kendali yang penting diuji untuk menguak kesalahan pada modul tersebut. Pengujian ini umumnya berorientasi white-box testing dan bisa dikerjakan secara paralel untuk modul yang bertingkat.
Pengujian perihal jalur eksekusi ialah peran penting selama unit testing. Kasus uji musti dirancang untuk menguak kesalahan yang berhubungan dengan kesalahan komputasi, komparasi dan fatwa kendali yang tidak tepat. 

Integration Testing

Integration testing dikerjakan dengan teknik sistematis dalam mengontruksi struktur acara sambil melakukan pengujian dalam menguak kesalahan yang berhubungan dengan interfacing. Sasarannya ialah modul yang telah diuji pada unit testing dan kontruksi program dari modul tersebut sesuai dengan rancangan perangkat lunak.

Validation Testing

Validation testing dilaksanakan sesudah perangkat lunak final dirangkai selaku satu kesatuan yang menyeluruh dan kesalahan interfacing telah didapatkan dan dikoreksi. Validasi sukses kalau segala fungsi pada perangkat lunak sesuai dengan kebutuhan klien. 
Validasi testing diperoleh melalui serangkaian pengujian black-box testing yang memperlihatkan kesesuaian keperluan perangkat lunak. Semua skenario uji dirancang untuk menentukan semua patokan fungsional telah tercukupi, semua patokan kinerja telah tercapai d, semua dokumentasi teag benar, dan standar lainnya mirip kompatibilitas, maintenance dan kesanggupan pulih dari keselahan sudah dipenuhi.

System Testing

System testing pengujian yang sasarannnya ialah keseluruhan metode. Terdapat beberapa tipe dari system testing diantaranya yakni selaku berikut :
  1. Recovery testing, menguji perangkat lunak untuk gagal dengan banyak sekali cara dan menilik apakah perbaikan atau pemulihan dilaksanakan secara tepat.
  2. Security testing, menguji apakah prosedur keamanan yang dibangun pada metode akan betul-betul dapat mengamankan dari dampak yang salah dan beberapa percobaan peretasan.
  3. Stress testing, dirancang untuk menguji program apakah bisa melawan kondisi yang abnormal. 
  4. Perfomance testing, dirancang untuk menguji kinerja perangkat lunak yang sudah terintegrasi pada metode dikala run-time.
Referensi
Poltek Telkom

Pengirim Kecerdasan Buatan

Sejarah Kecerdasan Buatan

Pada tahun 1950-an Alan Turing yang merupakan pionir kecerdasan bikinan dan mahir matematika asal Inggris melakukan percobaan Turing yang dikenal dengan Turing Test, yakni sebuah komputer lewat terminalnya ditaruh pada jarak jauh. Di ujung yang satu ada terminal dengan acara kecerdasan buatan dan di ujung terminal lain ada seorang operator manusia. Operator tersebut tidak mengetahui kalau di ujung terminal telah dipasangi program kecerdasan bikinan. Mereka berkomunikasi dimana terminal di ujung menunjukkan respon terhadap serangkaian pertanyaan yang diajukan operator, dan operator tersebut menduga bahwa dia sedang berkomunikasi dengan operator lainnya yang berada di terminal lain. Oleh karena itu Turing beranggapan bahwa jika mesin mampu menciptakan seorang percaya bahwa dirinya mampu berkomunikasi dengan orang lain, maka dapat dikatakan bahwa mesin tersebut cerdas layaknya insan.

Definisi Kecerdasan Buatan

Kecerdasan bikinan atau dalam bahasa inggris Artificial Intelligence merupakan bagian dari ilmu komputer yang mempelajari bagaimana menciptakan komputer mampu melakukan pekerjaan seperti manusia bahkan diharapkan dapat lebih baik dibanding dengan dikerjakan oleh manusia.
Pada dasarnya kecerdasan produksi merupakan ilmu komputer yang sangat luas, oleh alasannya itu kecerdasan bikinan memiliki aneka macam cabang seperti pada gambar di bawah ini.
Supaya sebuah komputer bisa cerdas layaknya manusia, maka perlu diberi bekal pengetahuan dan memiliki kemampuan untuk menalar atau mempelajari hal-hal gres. Terdapat dua bagian utama yang diharapkan untuk aplikasi yang memiliki kecerdasan bikinan, yaitu basis pengetahuan dan motor inferensi.
  1. Basis Pengetahuan (Knowledge Base) : Berisikan fakta-fakta, teori, pedoman dan korelasi antara satu dengan lainnya.
  2. Motor Inferensi (Inference Engine) : kesanggupan mempesona kesimpulan menurut wawasan yang diperoleh.

Perbedaan Kecerdasan Buatan dengan Kecerdasan Alami

Kelebihan Kecerdasan Buatan

  • Sifatnya permanen, kecerdasan produksi tidak berganti selama tata cara komputer maupun aplikasinya tidak menggantinya.
  • Mudah untuk diduplikasi dan disebarkan, Kecerdasan produksi tersebut bisa disalin dari suatu komputer atau aplikasi yang satu kepada komputer atau aplikasi lainnya.
  • Lebih murah, hal ini dikarenakan menyediakan layanan komputer akan lebih hemat biaya dibanding dengan mendatangkan seseorang untuk menjalankan sejumlah pekerjaan dalam rentang waktu yang lama.
  • Dapat didokumentasikan, setiap keputusan yang dibentuk dapat didokumentasikan dengan mudah melalaui melacak setiap kegiatan dari metode tersebut.
  • Kecerdasan bikinan bersifat konsosten dan teliti dibanding dengan kecerdasan alami yang selalu berganti-ubah sesuai keadaan dan suasana orang tersebut.
  • Dalam beberapa pekerjaan kecerdasan buatan bisa mengerjalan beberapa peran lebih cepat dan lebih baik dibanding dengan kecerdasan alami.

Kelebihan Kecerdasan Alami

  • Lebih inovatif dibanding dengan kecerdasan buatan karena mempunyai kesanggupan untuk memperkaya pengetahuan dari sisi apapun, sedangkan kecerdasan produksi wawasan yang diperoleh hanya sebatas yang sebelumnya diputuskan dikala pembangunan sistem.
  • Pemikiran kecerdasan alami mampu dipakai secara luas, sedangkan kecerdasan produksi sungguh terbatas area penggunaanya.
  • Memungkinkan menggunakan pengalaman atau pembelajaran secara langsung, sedangkan kecerdasan bikinan mesti menerima masukan berupa inputan simbolik.

Perbedaan Kecerdasan Buatan dengan Program Konvensional

 

Kecerdasan Buatan

Program Konvensional

Fokus pemrosesan

Konsep simbolik/numerik (wawasan)

Data dan Informasi

Pencarian

Heuristik

Algoritma

Sifat Input

Bisa tidak lengkap

Harus lngkap

Keterangan

Disediakan

Umumnya tidak disediakan

Struktur

Kontrol dipisahkan dari wawasan

Kontrol terintegrasi dengan informasi atau data

Sifat output

Kuantitatif

Kualitatif

Kemampuan Menalar

Ya

Tidak

Kecerdasan Buatan pada Aplikasi Komersil

Terdapat beberapa desain kecerdasan buatan yang diterapan pada aneka macam aplikasi komersil, diantaranya selaku berikut yang dibagi berdasarkan lingkup utama kecerdasan buatannya :

Sistem Pakar (Expert System)

Pada sistem pakar komputer berguna sebagai sarana dalam menyimpan wawasan para spesialis sehingga komputer mempunyai kemampuan dalam menuntaskan permasalahan dengan memalsukan keahlian yang dimiliki oleh pakar.

Pengolahan Bahasa Alami (Naturan language Processing)

Dalam hal ini kecerdasan buatan bisa berkomunikasi dengan pengguna lewat penggunaan bahasa sehari-hari. Contohnya seperti pengguna metode memperlihatkan perintah dalam bahasa sehari-hari, misalnya untuk menghubungi seseorang, pengguna cukup memberikan perintah “Halo Google, Telepon Andi” maka metode mentranlasikan perintah bahasa alami tersebut menjadi bahasa komputer sehingga tata cara mampu menghubungi kontak Andi.

Pengenalan Ucapan (Speech Recognition)

Manusia mampu berkomunikasi dengan komputer memakai suara, salah satu misalnya yaitu banyak produsen ponsel pintar yang menyediakan fasilitas alat bantu untuk tunanetra yang mempunyai masukan berupa teks dan mempunyai keluaran berupa ucapan dari teks tersebut.

Robotika dan Sistem Sensor

Sistem yang dibekali sensor dan mekanika robotika, mirip lampu ruangan yang dibekai sensor untuk mendeteksi keberadaan seseorang tersebut sehingga lampu di ruangan tersebut dapat menyala secara otomatis dikala ada manusia di dalamnya sedangkan bila tidak ada seseorang didalam ruangan tersebut lampu tersebut akan mati dengan sendirinya.

Computer Vision

Computer vision ialah sistem yang mampu menginterpretasikan gambar atau objek-objek tertentu melalui komputer. Salah satu misalnya ialah mendeteksi contoh pada sidik jari seseorang.

Apa Sih Smart City Itu? Manfaat Dan Ulasan Cyber Physical Social System

Smart City akhir-akhir ini digadang-gadang dijadikan selaku terobosan sebuah kota untuk tampil lebih maju dan lebih baik dengan membangun berbgai unsur infrastruktur di sebuah kota. Tak cuma itu Smart City ialah induk dari konsep E Goverment yang memberikan pelayanan yang bagus bagi publik utamanya warga masyarakatnya. Simak juga perbedaan antara Smart City dan E Goverment dengan mendatangi tautan tersebut.

Makna Kata Smart City

Istilah Smart City atau dalam bahasa Indonesia diketahui dengan istilah Kota Cerdas. Untuk dapat mengetahui definisi atau pengertian dari Smart City pertama-tama mari kita identifikasi apalagi dahulu makna dari katanya, kata pertama yakni Smart dan kedua ialah kata City. Kata Smart atau Cerdas bisa dimaknai sebagai kemampuan untuk mencicipi, menangkap dan memproses pesan atau data inputan dan menunjukkan respon secara cepat dan sempurna. Apabila diumpamakan seperti dengan kecerdasan seorang manusia yang bisa menangkap berbagai data dari lingkungan disekitarnya lewat panca indera yang dimilikinya serta memperlihatkan tanggapansecara cepat dan sempurna. Misalkan ketika mata kamu melihat suatu mobil yang mau menabrak kamu, maka secara cepat dan tepat otak akan berpikir untuk memerintahkan tubuh kamu untuk menghindarinya.

Sedangkan kata City atau Kota berdasarkan Peraturan Menteri dalam Negeri Nomor 2 Tahun 1987 Pasal 1 menyebutkan Kota ialah sebuah pusat pemukiman dan kegiatan masyarakatyang mempunyai batasan administrasi yang sudah dikelola dalam perundang-permintaan serta pemukiman yang sudah memberikan budbahasa dan ciri kehidupan perkotaan. Berdasarkan makna setiap kata penyusun dari ungkapan Smart City atau Kota Cerdas tersebut maka mampu diartikan sebagai sebuah kota yang memiliki kemampuan pro aktif dalam mengidentifikasi dan mengumpulkan data-data dari banyak sekali bagian kota baik unsur fisik maupun sosial untuk berikutnya diproses dan memperlihatkan tanggapansecara tepat dan cepat.

Cyber Physical Social System

Smart City intinya ialah Cyber Physical Social System dalam ruang lingkup kota, adalah suatu metode yang mengintegrasikan metode fisik kota, metode sosial dan tata cara digital lewat media siber atau internet. Sistem fisik kota meliputi berbagai fasilitas dan prasarana pendukung kegiatan kehidupan kota, mirip jembatan, gedung, termina, jaringan listrik, stasiun, infrastruktur telekomunikasi dan lain sebagainya. Sedangkan metode sosial kota mencakup aneka macam lingkungan sosial insan dan individu yang ada di dalam kota meliputi pemerintah kota, masyarakat biasa , pasar, keluarga, warga kota, dan lain sebagainya. Sementara itu metode digital kota meliputi sensor, jaringan komputer, kontrol, data center atau pusat data, komputtasi dan lain sebagainya.

Cyber Physical Social System pada Smart City serupa dengan metode tubuh manusia. Suatu kecerdasan memerlukan media input atau masukan. Panca indera pada badan manusia mirip mata, telinga, hidung, lidah dan kulit ialah media yang bisa menjadi inputan bagi kecerdasan yang dimiliki oleh insan. Sementara itu dalam konsep Smart City fungsi dari media input bisa dijalankan dengan menggunakan CCTV atau sensor yang dipasang di aneka macam komponen sebuah kota. Seperti CCTV kemudian lintas, CCTV analisa objek, sensor polusi udara dan air, sensor ketinggian air sungai, sensor kepadatan lalu lintas, sensor kecepatan unuk mengukur kecepatan kendaraan dan lain sebagainya.

Untuk insan analogi otak untuk memproses dan menyimpan data-data inputan dari panca indera, sedangkan bagi Smart City pemrosesan dan penyimpanan  bisa dilaksanakan oleh prosesor, mikrokontroller, hard drive, digital video recorder, Sekolah Dasar Card dan lain sebagainya. Respon yang diberikan menurut hasil pemrosesan data inputan dalam analogi tubuh insan dapat berupa ucapan maupun gerakan badan, sedangkan dalam rancangan Smart City mampu berupa tampilan infoormasi dari layar LCD, keluaran bunyi dari speaker atau berbentukgerakan dari aktuator.

Definisi Smart City

Secara lebih dalam Smart City yakni sebuah kategorisasi kota sekaligus suau konsep pengembangan dan pengelolaan tata kota dengan mempergunakan teknologi gosip secara optimal dan intensif, tergolong jaringan komputer, internet of things (IoT), big data, cloud computing, data analytic, geographical information integration dan lain sebagainya, sehingga tata cara dapat diintegrasikan dengan insan selaku sistem fisik kota dan metode digital supaya kota dapat lebih kreatif dan kreatif.

Manfaat Smart City

Terdapat beberapa faedah yang bisa dirasakan berkat terpenuhinya pembangunan unsur Smart City secara menyeluruh, diantaranya selaku berikut :

  1. Memonitor kondisi infrastruktur penting kota, menyiapkan aktivitas-kegiatan perawatan dan peningkatan keamanannya.
  2. Meningkatkan efisiensi operasional dan layanan kota.
  3. Mengoptimalkan pemanfaatan sumber daya kota secara efisien dan berkelanjutan.
  4. Meningkatkan kenyamanan masyarakatuntuk tinggal.
  5. Meningkatkan kualitas atau kemakmuran hidup warganya.
  6. Peningkatan mutu layanan publik dan layanan kota seperti transportasi, listrik, kemanan, lingkungan hidup dan layanan keadaan darurat.
  7. Menangkap dan menawarkan respon akan keperluan warganya secara proaktif, cepat dan juga sempurna.
  8. Meningkatkan ketahan kota daam menangkal kriminal dan kesempatanresiko yang lain dan mempercepat pemulihan akhir tragedi.
  9. Menjaga kesetaraan bagi semua warga penduduk .
  10. Memastikan perkembangan dan keberlangsungan kota di era yang hendak tiba dan menyanggupi keperluan generasi yang mau datang baik secara sosial, ekonomi maupun lingkungan.
  11. Meningkat kesanggupan kota dalam berkompetisi.

Referensi
Smart City: Konsep, Model, & Teknologi – ITS

Sekilas Ihwal Steganografi Dan Metodenya

Steganography atau steganografi yakni suatu seni dalam ilmu untuk menyembunyikan pesan didalam pesan yang lain dengan sedemikian rupa supaya orang lain yang menyaksikan isi pesan tidak menyadari bahwa ada suatu pesan diam-diam didalam pesan teks tersebut. Steganography sendiri merupakan kata yang berasal dari bahasa Yunani, ialah steganos yang berarti tersembunyyi atau terselebung sedangkan graphien memiliki arti menulis. Dari etimologi dan definisi sebelumnya, maka dapat diambil kesimpulan bahwa steganography merupakan tulisan yang tersembunyi.

Tujuan Steganografi

Steganography mempunyai tujuan utama, ialah untuk merahasiakan atau menyembunyikan eksistensi dari sebuah pesan tersembunyi atas sebuah berita.

Kelebihan Steganografi dengan Kriptografi

Steganography mempunyai keunggulan dibandingkan cryptography, yakni pesan-pesanya tidak membuat menarik perhatian orang lain. Sedangkan kriptografi membuat pesan-pesan berkode yang tidak disembunyikan, walaupun kriptografi susah untuk dipecahkan, tetapi tetap saja menimbulkan kecurigaan sebab berbentuk instruksi diam-diam. Banyak juga yang menerapkan steganography dan kriptografi dipakai secara serentak dalam upaya memperkuat keselamatan pesan rahasia.

Pada penerapan dan praktiknya, kebanyakan pesan sering disembunyikan dengan menciptakan perubahan tipis terhadap data digital lain yang tidak menarik minatdari seseorang, khususnya penyerang atau pembobol. Sebagai gambaran, misalnya suatu gambar yang nampak tidak berbahaya. Perubahan ini bergantung pada kunci dan pesan untuk disembunyikan.

Orang akan menerima gambar yang kemudian mampu ditarik kesimpulan isu terselubung di dalamnya dengan mengubah kunci yang benar ke dalam algoritma yang diterapkan. Metode steganografi ini sangat berkhasiat dalam dunia digital, berkat banyaknya format berkas digital yang bisa dijadikan media untuk menyembunyikan pesan.

Gambaran Sistem

Gambar menawarkan sebuah metode steganografi, biasa yang dimana bertugas di bab pengirim pesan (sender), dilakukann proses embedding (fe) pesan yang mau diantarsecara tersembunyi dan belakang layar (emb) ke dalam data cover selaku kawasan penyimpanan pesan belakang layar (cover), dengan menggunakan kunci tertentu (key), sehingga diperoleh data dengan pesan terselubung di dalamnya (stego).

Pada bagian akseptor pesan (recipient), dikerjakan proses ekstraksi (fe-1) pada stego guna memisahkan pesan diam-diam (emb) dan data penyimpanannya (cover) tadi dengan memakai kunci yang sama seperti pada proses embedding tadi. Kaprikornus hanya orang yang mengenali kunci ini saja yang bisa mengekstraksi pesan tersembunyi tadi.

Metode-tata cara Steganografi

Secara garis besar setidaknya terdapat empat sistem dalam steganografi diantaranya yaitu, spread spectrum method. Algorithms and transformation, redundan pattern encoding dan least significant bit insertion atau disingkat LSBI. Berikut ulasan dari keempat metode tersebut  :

1. Spread Spectrum Method

Spread spectrum method merupakan tata cara steganografi yang terpencar selaku pesan yang diacak (enkripsi) melalui gambar. Untuk membaca isi pesan, akseptor membutuhkan sebuah algoritma yakni crypto-key dan stego-key. Metode terbilang cukup mudah untuk dibobol yaitu dengan penghancuran atau perusakan dari kompresi dan proses image.

2. Algorithms and Transformation

Algoritma kompresi ialah salah satu tata cara steganografi dengan menyembunyikan data di dalam fungsi matematika. Kedua fungsi tersebut ialah Discrete Cosine Transformation (DCT) dan Wavelet Transformaton. Fungsi DCT dan Wavelet, ialah untuk mentransformasikan data dari sebuah daerah atau domain ke tempat atau domain yang lain.

3. Redundant Pattern Encoding

Redundant pattern encoding adalah steganografi dengan menggambar pesan kecil pada kebanyakan gambar. Keunggulan dari metode ini ialah isi pesan mampu bertahan dari cropping atau kegagalan. Sedangkan kekurangannya, ialah tidak mampu menggambar pesan yang lebih besar.

4. Least Significant Bit Insertion (LSBI)

Salah satu metode steganografi yang dijalankan dengan cara memanipulasi LSB dari suatu gambar. Untuk gambar dengan 24 bit warna mampu dipergunakan 3 bit per piksel untuk dimanipulasi, sedangkan 8 bi arna cuma 1 bit per piksel saja yang mampu dimanipulasi. Saat stego bila dikerjakan kompresi perlu memakai teknik kompresi Lossless semoga data tidak hilang.