Program Untuk Enkripsi Dan Deskripsi Menggunakan C++

|| || || 4 komentar
Berikut ini adalah program enkripsi dan deskripsi menggunakan C++. Monggo disimak

#include <stdlib>
#include <iostream>
#include <string.h>
#define maks 500


class Enkripsi{
public:
Enkripsi();
void enkripsi();
void deskripsi();
void output();
private:
char chiper[maks];
int key;
char plain[maks];

};

Enkripsi::Enkripsi(){
cout<<"Masukkan kata : ";
cin.getline(chiper,sizeof(chiper));
cout<<"Masukkan key  : ";
cin>>key;
cout<<endl;
}

void Enkripsi::enkripsi(){
for(int i=0;i<strlen(chiper);i+=1){
cout<<chiper[i]<<"("<<int(chiper[i])<<") ";
chiper[i] = (chiper[i]+key)%128;
}
}

void Enkripsi::deskripsi(){
for(int i=0;i<strlen(chiper);i+=1){
plain[i] = (chiper[i]-key)%128;
chiper[i] = plain[i];
}
}

void Enkripsi::output(){
for(int i=0;i<strlen(chiper);i+=1){
cout<<chiper[i];
}
}

int main(int argc, char *argv[])
{
Enkripsi Deskripsi;
Deskripsi.enkripsi();
cout<<"\n\nKembali diDeskripsi : ";
Deskripsi.output();
Deskripsi.deskripsi();
cout<<"\n\nSetelah diEnkripsi: ";
Deskripsi.output();

cout<<endl<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

Pengalamatan IP

|| || || Leave a komentar
IP adalah pengidentifikasian dengan angka yang diberikan setiap mesin di dalam jaringan IP. Pengalamatan IP digunakan untuk menunjukkan lokasi spesifik dari alat di dalam jaringan. Alamat IP adalah alamat software, bukan alamat hardware yang terpatri ke dalam Network Interface Card (NIC) dan digunakan untuk menemukan host pada jaringan lokal. Pengalamatan IP ditujukan untuk memungkinkan host di dalam sebuah jaringan bisa berkomunikasi dengan host pada jaringan yang berbeda, tanpa mempedulikan tipe dari LAN yang digunakan oleh host yang berpartisipasi.
*      TERMINOLOGI IP
Untuk  mempelajari pengertian tentang internet protocol, berikut ini ada beberapa istilah yaitu:
1.      Bit, satu bit sama dengan satu digit yang bernilai 1 atau 0.
2.      Byte, satu byte sama dengan 7 atau 8 bit yanng bergantung apakah menggunakan parity.
3.      Octet, terdiri atas 8 bit yang merupakan bilangan biner 8 bit umumnya.
4.      Alamat Network, digunakan dalam routing untuk menunjukkan pengiriman paket ke remote network.
5.      Alamat broadcast, digunakan oleh aplikasi dan host untuk mengirim informasi ke semua titik di dalam jaringan.
*      SKEMA HIERARKI PENGALAMATAN IP
Alamat IP terdiri atas 3 bit informasi yang terbagi 4 bagian dikenal sebagai octet atau byte, dimana masing-masing terdiri atas 1 byte (8 bit) yang dapat digambarkan pengalamatan IP dengan metode Dotted-decimal, Biner dan Heksadesimal. Dengan metode Heksadesimal tidak digunakan sesering dotted-decimal atau biner ketika membicarakan pengalamatan IP, tetapi dengan menggunakan Windows Registry yang bagus untuk program yang menyimpan alamat IP mesin dalam bentuk hexa (heksadesimal) dalam beberapa program.
Skema pengalamatan IP dibedakan menjadi dua jenis yaitu pengalamatan 32-bit (terstruktur/hierarki) dan pengalamatan flat (datar/non-hierarki). Walaupun kedua jenis skema pengalamatan bisa digunakan, namun pengalamatan hierarki dipilih dengan alasan yang baik. Keuntungan dari skema pengalamatan hierarki yaitu kemampuannya yang bisa menangani pengalamatan yang besar. Sedangkan kekurangan dari skema pengalamatan flat dan alasan kenapa pengalamatan IP tidak menggunakannya yaitu masalah routing yang tidak efisien dan hanya sebagian kecil alamat yang digunakan dalam pengalamatan IP. Solusi untuk masalah tersebut yaitu menggunakan dua atau tiga tingkatan yang bisa dibandingkan dengan nomer telepon, skema pengalamatan hierarki yang terstruktur oleh network (jaringan) dan host atau network, subnet dan host yang digunaan untuk menunjukkan alamat jaringan (network).
*      PENGALAMATAN NETWORK
Alamat network (nomor network) memberikan identifikasi unik untuk setiap mesin pada jaringan yang sama menggunakan atau berbagi alamat network yang sama sebagai bagian dari pengalamatan IP. Bagian dari alamat ini haruslah unik karena alamat network mengidentifikasi sebuah mesin tertentu yang  merupakan individu dan group.nomer ini bisa di sebut sebagai alamat bost.contoh alamat IP 172.16.30.56. angka 30.56 adalah alamat node.untuk jumlah jaringan kecil yang memproses node yang sangat banyak dibuatkan class A sebaliknya yang berlawanan adalah class C,untuk jumlah jaringan yang berada diantara sangat besar dan sangat kecil adalah jaringan class B.untuk memastikan routing yang efisien yaitu bit awal yang terletak disebelah kiri yang menentukan class network berbeda.
skema pengalamatan class network
                                                8 bits                           8 bits                           8 bits                           8 bits
Class A:
Network
Host
Host
Host
Class B:
Network
Network
Host
Host
Class C:
Network
Network
Network
Host
 Class D:                  Multicast
 Class E:                  Research
Range Alamat Network Class A: bit pertama harus dalam kondisi off
Range alamat Network Class B: bit pertama Class B harus dalam kondisi on, tapi bit kedua Class B harus dalam kondisi off.
Range alamat Network Class C: 2 bit pertama harus dalam kondisi on, tapi bit ketiga harus dalam kondisi off.
Range alamat Network Class D dan E: alamat diantara 244 dan 255 dicadangkan untuk jaringan class D dan E.class D(244-239)digunakan sebagai alamat multicast dan class E (240-255) hanya di gunakan dalam penelitian.
Pengelamatan Class A
jaringan class A menggunakan 1 byte,jumlah maximum dari jaringan class A yang bisa buat adalah 128.
Setiap alamat class A mempunyai 3 byte (tempat untuk 24 bit) sebagai alamat node dari sebuah mesin.alamat node dengan dua pola yaitu semua 0 dan semua 1 dicadangkan,jumlah maximum node yang bisa digunakan adalah 2 pangkat 24 kurang 2 berarti setara dengan 16.777.214.
Host ID class A yang sah
-          Semua bit host off, menunjukkan alamat Network: 10.0.0.0
-          Semua bit host on, menunjukkan alamat broadcast: 10.255.255.255
Host yang sah adalah host dengan angka diantara alamat network dan broadcast: 10.0.0.1 sampai 10.255.255.254
Pengelamatan class B
Dengan alamat network 2 byte (masing-masing 8 bit), terdapat 2 pangkat 16 kombinasi unik, namun harus dimulai dengan digit 1 kemudian 0,pengalamatan Class B menggunakan 2 byte untuk  pengalamatan node.
Host ID class B yang sah
-          Semua bit host off, menunjukkan alamat Network: 172.16.0.0
-          Semua bit host on, menunjukkan alamat broadcast:172.16.255.255
Host yang sah adalah host dengan angka diantara alamat network dan broadcast: 172.16.0.1 sampai 172.16.255.254.
Pengalamatan class C
Pengalamatan class C, 3 bit pertama selalu bernilai Biner 110, perhitungannya adalah 3 byte atau 24 bit dikurang 3 tempat yang dicadangkan menyisakan 21 tempat, yaitu terdapat 2 pangkat 21 atau 2.097.152 pada jaringan class C.
Host ID class C yang sah
-          Semua bit host off, menunjukkan alamat Network: 192.168.100.0
-          Semua bit host on, menunjukkan alamat broadcast: 192.168.100.255
Host yang sah adalah host dengan angka diantara alamat network dan broadcast: 192.168.100.1 sampai 192.168.100.254.
Pengalamatan Private IP
Alamat private IP bisa digunakan untuk jaringan private tapi private IP tidak bisa melalui internet (not routeable).untuk mengerjakan tugas ISP dan perusahaan pengguna akhir menggunakan Network Address Translation (NAT), yang pada dasarnya mengubah atau mengkonverensi alamat private IP agar bisa digunakan di internet.  
sumber : http://nurfaiksan.blogspot.com/2012/05/pengalamatan-ip.html

Perbandingan antara System Life Cycle (SLC) dengan System Development Life Cycle (SDLC)

|| || || 2 komentar
System life cycle
System life cycle adalah proses evolusioner yang diikuti dalam penerapan sistem atau subsistem informasi berbasis komputer. SLC juga disebut dengan pendekatan waterfall approach bagi pengembangan dan penggunaan sistem. Dilakukan dengan strategi Top-Down Design.
Konsep life cycle menjadikan segala sesuatu yang tumbuh, menjadi dewasa setiap waktu dan akhirnya mati. Pola ini digunakan untuk sistem dasar komputer seperti subsistem pemrosesan data atau SSD. Dengan itu SLC menjadi sarana yang digunakan manajemen untuk melaksanakan rencana strategis.
Tahapan dari siklus hidup sistem yaitu :
1. Tahap Perencanaan
2. Tahap Analisis
3. Tahap Rancangan
4. Tahap Penerapan
5. Tahap Penggunaan
Siklus system life cycle :
Siklus hidup sistem pertama dikelola oleh manajer unit jasa informasi, yang dibantu oleh manajer dari analisis sistem, pemrograman dan operasi. Namun kecenderungan,meletakkan tanggung jawab pada tingkat yang lebih tinggi dan lebih rendah.
Ada3 tingkatan besar (hirarki) dari manajemen siklus hidup sistem, yaitu :
Tanggung Jawab Eksekutif ketika sistem memiliki nilai strategis atau mempengaruhi seluruh organisasi, direktur utama atau komite eksekutif mungkin memutuskan untuk mengawasi proyek pengembangannya. Ketika lingkup sistem menyempit dan folusnya lebih operasional kemungkinan kepemimpinan akan dipegang oleh eksekutif tingkat yang lebih rendah, seperti wakil direktur utama, direktur bagian administrasi, dan CIO.
Komite Pengarah SIM (steering committee MIS – SC MIS) Banyak perusahaan membuat suatu komite khusus, di bawah tingkat komite eksekutif, yang bertanggung jawab atas pengawasan seluruh proyek sistem. Jika tujuan komiter tersebut adalah memberikan petunjuk, pengarahan dan pengendalian yang berkesinambungan, dalam rangka penggunaan sumber daya komputer perusahaan maka komite tersebut dinamakan Komite Pengarah SIM.
Komite Pengarah SIM melaksanakan tiga fungsi utama, yaitu :
1. menetapkan kebijakan
2. menjadi pengendali keuangan
3. menyelasaikan pertentangan
Keuntungan yang dicapai oleh Komite Pengarah SIM ,yaitu:
• semakin besar kemungkinan komputer yang akan digunakan untuk mendukung pemakai di seluruh perusahaan.
• Semakin besar kemungkinan proyek-proyek komputer akan mempunyai perencanaan dan pengendalian yang baik.
Kepemimpinan Proyek Komite pengarah SIM yang terlibat langsung dengan rincian pekerjaan, tanggung jawabnya ada pada Tim Proyek. Tim proyek mencakup semua orang yang ikut serta dalam pengembangan sistem berbasis komputer. Kegiatan tim tersebut diarahkan oleh seorang Pemimpin Proyek yang memberikan pengarahan selama proyek berlangsung.
System Life Cycle terdiri darilimafase yaitu :
  1. Fase Perencanaan
    Fase ini memulai dengan mendefinisikan masalah dan dilanjutkan dengan sistem penunjukan objektif dan paksaan. Dalam hal ini sistem analis memimpin studi yang mungkin terjadi dan mengemukakan pelaksanaannya pada manajer.
  2. Fase Analisis
    Fase ini mempunyai tugas penting yaitu menunjukkan kebutuhan pemakai informasi dan menentukan tingkat penampilan sistem yang diperlukan untuk memuaskan kebutuhan tersebut. Fase ini meliputi penetapan jangkauan proyek, mengenal resiko, mengatur rangkaian tugas, dan menyediakan dasar untuk kontrol.
  3. Fase Desain
    Fase Desain ini meliputi penentuan pemrosesan dan data yang dibutuhkan oleh sistem yang baru, dan pemilihan konfigurasi terbaik dari hardware yang menyediakan desain. Desain system adalah ketentuan mengenal proses dan data yang dibutuhkan oleh sistem yang baru.
  4. Fase Pelaksanaan / Implementasi
    Fase ini melibatkan beberapa spesialis informasi tambahan yang mengubah desain dari bentuk kertas menjadi satu dalam hardware, software, dan data. Pelaksanaan adalah penambahan dan penggabungan antara sumber-sumber secara fisik dan konseptual yang menghasilkan pekerjaan sistem.
  5. Fase Pemakaian / Penggunaan
    Selama fase penggunaan, audit memimpin pelaksanaannya untuk menjamin bahwa sistem benar-benar dikerjakan, dan pemeliharaannya pun dilakukan sehingga sistem dapat menyediakan kebutuhan yang diinginkan. Dari kelima fase di atas, empat fase di awal disediakan untuk dikembangkan, jadi metode yang ada didalamnya dapat berkembang sesuai zaman. Sedangkan fase yang terkahir tidak untuk dikembangan, hanya sebagai pelaksanaannya saja.
TAHAP PERENCANAAN
Keuntungan dari merencanakan proyek CBIS, yaitu :
• Menentukan lingkup dari proyek
Unit organisasi memberikan perkiraan awal dari skala sumber daya yang diperlukan.
• Mengenali berbagai area permasalahan potensial
Akan menunjukkan hal-hal yang mungkin tidak berjalan dengan semestinya, sehingga hal tersebut dapat dicegah.
• Mengatur urutan tugas
Banyak tugas-tugas terpisah yang diperlukan untuk mencapai sistem. Tugas tersebut diatur dalam urutan logis berdasarkan prioritas informasi dan kebutuhan agar efisien.
• Memberikan dasar untuk pengendalian
Tingkat kinerja metode pengukuran tertentu harus dispesifikasikan sejak awal.
Langkah-langkahnya :
1. Menyadari masalah Kebutuhan akan proyek CBIS biasanya dirasakan oleh manajer perusahaan, non manajer, dan elemen-elemen dalam lingkungan perusahaan.
2. Mendefinisikan masalah Setelah manajer menyadari adanya masalah, ia harus memahaminya dengan baik agar dapat mengatasi permasalah tersebut.
3. Menentukan tujuan system Manajer dan analis sistem mengembangkan suatu daftar tujuan sistem yang harus dipenuhi oleh sistem untuk memuaskan pemakai. Sehingga tujuan hanya dinyatakan secara umum, yang nantinya akan dibuat lebih spesifik.
4. Mengidentifikasi kendala system Sistem baru dalam pengoperasiannya tidak bebas dari kendala.
5. Membuat studi kelayakan Studi kelayakan adalah suatu tinjauan seklias pada faktor-faktor utama yang akan mempengaruhi kemampuan sistem untuk mencapai tujuan yang diinginkan.
6. Menyiapkan usulan penelitian system Jika suatu sistem dan proyek tampak layak, diperlukan penelitian sistem secara menyeluruh.
7. Menyetujui atau menolak proyek penelitian Manajer dan komite pengarah menimbang pro dan kontra proyek dan rancangan sistem yang diusulkan, serta menentukan apakah perlu diteruskan à keputusan teruskan / hentikan.
8. Menetapkan mekanisme pengendalian Sebelum penelitian sistem dimulai, SC MIS menetapkan pengendalian proyek dengan menentukan apa yang harus dikerjakan, siapa yang melakukannya, dan kapan akan dilaksanakan. Bentuk dari usulan penelitian sistem secara umum mencakup :
1. Ikhtisar eksekutif
2. Pendahuluan
3. Tujuan dan kendala sistem
4. Berbagai alternatif sistem yang mungkin
5. Proyek penelitian sistem yang disarankan
TAHAP ANALISIS
Analisis sistem adalah penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem baru atau diperbarui. Adapun tahapannya yaitu :
1. Mengumumkan Penelitian Sistem Manajer khawatir terhadap penerapan aplikasi komputer baru yang mempengaruhi kerja para pegawainya.
2. Mengorganisasikan Tim Proyek Tim proyek yang akan melakukan penelitian sistem dikumpulkan.
3. Mendefinisikan Kebutuhan Informasi Analis mempelajari kebutuhan informasi pemakai dengan terlibat dalam berbagai kegiatan pengumpulan informasi (wawancara, pemgamatan, pencarian catatan, dan survei).
4. Mendefinisikan Kriteria Kinerja Sistem Langkah selanjutnya adalah menspesifikasikan secara tepat apa yang harus dicapai oleh sistem, yaitu kriteria kinerja sistem.
 TAHAP RANCANGAN
Rancangan Analis sistem memberikan kesempatan bagi manajer untuk membuat keputusan teruskan atau hentikan untuk kedua kalinya. Dalam hal ini manajer harus menyetujui tahap rancangan dan kungan bagi keputusan tersebut termasuk di dalam usulan rancangan.
Menerima atau Menolak Proyek Rancangan Manajer dan komite pengarah SIM mengevaluasi usulan rancangan dan menentukan apakah akan memberikan persetujuan atau tidak. Dalam beberapa kasus, tim mungkin diminta melakukan analisis lain dan menyerahkannya kembali atau mungkin proyek ditinggalkan. Jika disetujui, proyek maju ke tahap rancangan tersebut.

TAHAP PENERAPAN
Penerapan merupakan kegiatan memperoleh dan mengintegrasikan sumber daya fisik dan konseptual yang menghasilkan suatu sistem yang bekerja. Adapun tahapannya yaitu :
1. Merencanakan penerapan Manajer dan spesialis informasi harus memahami dengan baik pekerjaan yang diperlukan untuk menerapkan rancangan sistem dan untuk mengembangkan rencana penerapan yang sangat rinci.
2. Mengumumkan penerapan Proyek penerapan diumumkan kepada para pegawai dengan cara yang sama pada penelitian sistem. Tujuannya adalah untuk menginformasikan kepada para pegawai mengenai keputusan untuk menerapkan sistem baru dan meminta kerjasama mereka.
3. Mendapatkan sumber daya perangkat keras Rancangan sistem disediakan bagi para pemasok berbagai jenis perangkat keras yang terdapat pada konfigurasi sistem yang disetujui.
4. Mendapatkan sumber daya perangkat lunak Ketika perusahaan memutuskan untuk menciptakan sendiri perangkat lunak aplikasinya, programmer menggunakan dokumentasi yang disiapkan oleh analis sistem sebagai titik awal.
5. Menyiapkan database Pengelola database (database administrator – DBA) bertanggung jawab untuks emua kegiatan ynag berhubungan dengan data, dan mencakup persiapan database.
6. Menyiapkan fasilitas fisik Jika perangkat keras dan sistem baru tidak sesuai dengan fasilitas yang ada, perlu dilakukan konstruksi baru atau perombakan. Sehingga pembangunan fasilitas tersebut merupakan tugas berat dan harus dijadualkan sehingga sesuai dengan keseluruhan rencana proyek.
7. Mendidik peserta dan pemakai Sistem baru kemungkinan besar akan mempengaruhi banyak orang. Beberapa orang akan membuat sistem bekerja.
8. Menyiapkan usulan cutover Proses menghentikan penggunaan sistem lama dan memulai menggunakan sistem baru disebut cutover. Ketika seluruh pekerjaan pengembangan hampir selesai , tim proyek merekomendasikan kepada manajer agar dilaksanakan cutover (dalam memo atau laporan lisan)
9. Menyetujui atau menolak masuk ke sistem baru Manajer dan SC MIS menelaah status proyek dan menyetujui atau menolak rekomendasi tersebut. Bila manajemen menyetujui maka manajemen menentukan tanggal cutover.
10. Masuk ke sistem baru.Ada4 pendekatan dasar (cutover), yaitu : Percontohan (pilot) ,serentak (immediate) ,bertahap (phased) ,paralel (parallel).
TAHAP PENGGUNAAN
Tahap penggunaan terdiri dari 5 langkah, yaitu :
1. Menggunakan system Pemakai menggunakan sistem untuk mencapai tujuan yang diidentifikasikan pada tahap perencanaan.
2. Audit system Setelah sistem baru mapan, penelitian formal dilakukan untuk menentukan seberapa baik sistem baru itu memenuhi kriteria kinerja. Studi tersebut dikenal dengan istilah penelaahan setelah penerapan (post implementation review).
3. Memelihara system Selama manajer menggunakan sistem, berbagai modifikasi dibuat sehingga sistem terus memberikan dukungan yang diperlukan.Pemeliharaan sistem dilaksakan untuk 3 alasan, yakni :Memperbaiki kesalahan,Menjaga kemutakhiran system,Meningkatkan sistem
4. Menyiapkan usulan rekayasa ulang Ketika sudah jelas bagi para pemakai dan spesialis informasi bahwa sistem tersebut tidak dapat lagi digunakan, diusulkan kepada SC MIS bahwa sistem itu perlu direkayasa ulang (reengineered).
5. Menyetujui atau menolak rekayasa ulang system Manajer dan komite pengarah SIM mengevaluasi usulan rekayasa ulang sistem dan menentukan apakah akan memberikan persetujuan atau tidak .
Guna memberi respon yang lebih baik bagi kebutuhan pemakai, spesialis informasi telah membuat modifikasi pada SLC, sehingga waktu yang diperlukan untuk menerapkan sistem dapat dikurangi. Hal tersebut yang banyak mendapat perhatian yaitu protipe (prototyping) dan pengembangan aplikasi cepat (Rapid Application Development – RAD).
Pengertian System Development Life Cycle (SDLC)
SDLC adalah tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. Terdapat beberapa model SDLC,model yang populer dan banyak digunakan adalah waterfall.Metodologi waterfal disebut juga siklus klasik tahun 1970-an dan sekarang ini lebih dikenal dengan sekuensial linier,setiap fase pada waterfall dilakukan secara berurutan dan sebuah fase tidak dapat dikerjakan sebelum fase-fase sebelumnya selesai.Waterfall mempunyai kelebihan dan kekurangan.Kelebihannya yaitu kebutuhan sistem didefinisikan secara lengkap dan benar di awal project sehingga pengembangan sistem berjalan dengan baik tanpa masalah.Dan kekurangannya yaitu ketika masalah muncul, maka proses akan berhenti.
Siklus – siklus System Development Life Cycle (SDLC) :
Tahapan System Development Life Cycle lebih jelasnya:
  • Planning
Merupakan tahap awal sebelum pembuatan sistem informasi.
Terdiri dari :
  1. Mengenali proses bisnis
  2. Analisa kelayakan
  3. Rencana kerja
  4. Penugasan
  5. Control
  • Analisys
Bisa juga disebut dengan tahap desain sistem.
Terdiri dari :
  1. Mengumpulkan informasi (kuisioner, brainstorming)
  2. Permodelan use cas
  3. Permodelan structural
  4. Permodelan perilaku
  • Design
Lebih mengarah ke proses pemrograman.
Terdiri dari :
  1. Desain system
  2. Desain jaringan
  3. Desain interface
  4. Desain file dan database
  5. Desain objek
  • Implementasi
Tahap penerapan sistem informasi yang dibuat di dunia sebenarnya.
Terdiri dari :
  1. Kostruksi
  2. Instalasi
  3. support
  • Maintenance.
Tahap akhir untuk mengevaluasi kinerja sistem, apakah sesuai dengan keinginan user atau tidak.
Terdiri dari :
  1. Control secara berkala
  2. Pembenahan
  3. Penambahan bagian
Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize.
Metodologi Spiral
Model ini merupakan perbaikan dari model waterfall dan prototype yang setiap perpindahan level didahului analisa risiko.Model spiral mempunyai kelebihan dan kekurangan.Kelebihannya adalah lebih cocok untuk pengembangan sistem dan perangkat lunak berskala besar.Dan kekurangannya adalah memerlukan tenaga ahli untuk memperkirakan risiko karena memerlukan penaksiran sehingga tidak terjadi masalah yang serius.
Metodologi Prototype
Prototype digunakan untuk membantu sistem desain yang akan dibangun sistem informasi dan mudah diubah untuk end user, prototype merupakan bagian dari proses iterative phase analisa dari metodologi SDLC.Kelebihan model Prototype nyaitu analis sistem dapat bekerja lebih baik dalam menentukan kebutuhan user serta penerapan menjadi lebih mudah karena user mengetahui apa yang diharapkan.Dan kekurangannya yaitu proses prototype cenderung lambat karena user akan menambah komponen dari luar system dan terkadang user mengharapkan sesuatu yang tidak realistis.
Metodologi Incremental
Model ini merupakan gabungan metodologi waterfall dengan prototyping yang pengembangan sistem pada software engineering berdasarkan permintaan yang dipecah menjadi beberapa fungsi atau bagian sehingga model pengembangannya secara increment/bertahap.Model Incremental mempunyai kelebihan dan kekurangan.Kelebihannya adalah pengembang bekerja optimal dan pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya pemasukan data pegawai.Dan kekurangan adalah butuh waktu yang relatif lama untuk menghasilkan produk yang terlengkap, dan kemungkinan tiap bagian tidak dapat diintegrasikan.
System Development Lyfe Cycle yaitu keseluruhan proses dalam membangun sistem melalui beberapa langkah. Langkah yang digunakan meliputi :
  1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi
  2. Mempelajari dan menganalisis sistem informasi yang sedang berjalan
  3. Menentukan permintaan pemakai sistem informasi
  4. Memilih solusi atau pemecahan masalah yang paling baik
  5. Menentukan perangkat keras (hardware) dan perangkat lunak (software)
  6. Merancang sistem informasi baru
  7. Membangun sistem informasi baru
  8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru
  9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan
Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda.Dalam sebuah siklus SDLC, terdapat enam langkah. Jumlah langkah SDLC pada referensi lain mungkin berbeda, namun secara umum adalah sama. Langkah tersebut adalah
  • Analisis system
Yaitu membuat analisis aliran kerja manajemen yang sedang berjalan
  • Spesifikasi kebutuhan sistem
Yaitu melakukan perincian mengenai apa saja yang dibutuhkan dalam pengembangan sistem dan membuat perencanaan yang berkaitan dengan proyek sistem
  • Perancangan sistem
Yaitu membuat desain aliran kerja manajemen dan desain pemrograman yang diperlukan untuk pengembangan sistem informasi
  • Pengembangan sistem
Yaitu tahap pengembangan sistem informasi dengan menulis program yang diperlukan
  • Pengujian sistem
Yaitu melakukan pengujian terhadap sistem yang telah dibuat
  • Implementasi dan pemeliharaan sistem
Yaitu menerapkan dan memelihara sistem yang telah dibuat
Siklus SDLC dijalankan secara berurutan, mulai dari langkah pertama hingga langkah keenam. Setiap langkah yang telah selesai harus dikaji ulang. Kaji ulang yang dimaksud adalah pengujian yang sifatnya quality control, sedangkan pengujian di langkah kelima bersifat quality assurance. Quality control dilakukan oleh personal internal tim untuk membangun kualitas, sedangkan quality assurance dilakukan oleh orang di luar tim untuk menguji kualitas sistem. Semua langkah dalam siklus harus terdokumentasi. Dokumentasi yang baik akan mempermudah pemeliharaan dan peningkatan fungsi sistem.

Kesalahan pada pengembangan sistem pakar

|| || || Leave a komentar
Beberapa kesalahan yang mungkin terjadi pada pengembangan sistem pakar adalah :
  •   Kesalahan knowledge pakar (Expert’s knowledge error). Pakar merupakan sumber knowledge. Jika knowledge yang berasal dari pakar mengandung kesalahan maka kesalahan berlanjut pada keseluruhan proses pengembangan sistem. Untuk proyek yang melibatkan resiko hidup manusia dan properti, perlu dibuat suatu prosedur formal untuk menilai knowledge dari pakar. Misalkan dengan membentuk sebuah panel yang beranggotakan user, pakar independen dari bidang yang sama, pengembang sistem, dan manajer yang akan melakukan review serta analisis terhadap pemecahan solusi dan tehnik yang digunakan untuk membangun sistem.
    Keuntungan dari panel ini adalah knowledge dari pakar akan dievaluasi validitas dan akurasinya sejak awal pengembangan. Semakin banyak kesalahan yang ditemukan akan semakin besar biaya yang dibutuhkan untuk memperbaiki. Jika knowledge tidak diverifikasi di tahap awal, maka pengujian utama dilakukan pada tahap validasi final sistem yang memeriksa apakah sistem memenuhi semua kebutuhan terutama dari segi ketepatan dan kelengkapan solusi. Kerugian dari pembentukan panel ini adalah dalam hal munculnya biaya tambahan.
  • Kesalahan semantik (Semantic error). Kesalahan semantik terjadi jika arti dari knowledge tidak dikomunikasikan secara tepat. Hal ini dapat disebabkan karena knowledge engineer salah mengintepretasikan jawaban / knowledge yang diberikan oleh pakar atau si pakar salah menangkap pertanyaan yang diberikan oleh knowledge engineer ataupun keduanya. Misalkan, si pakar memberikan knowledge : “You can extinguish a fire with water” dan knowledge engineer menganggapnya sebagai “ All fires can be extinguished by water”.
  •  Kesalahan sintaks (Syntax error). Kesalahan ini terjadi jika bentuk aturan atau fakta yang tidak tepat dimasukkan ke dalam sistem. Tool sistem pakar harus memberi tanda (flag) pada kesalahan ini dan memberikan pesan yang sesuai. Kesalahan lain yang terjadi pada tahap pengembangan knowledge-base disebabkan pada kesalahan sumber knowledge yang tidak dideteksi pada tahap awal.
  • Kesalahan mesin inferensi (Inference engine error). Sama seperti software lainnya, mesin inferensi juga dapat mengandung bug/error. Pada saat sistem pakar akan diimplementasikan, semua bugs harus sudah diperbaiki. Namun, kadang terdapat bugs yang muncul pada kondisi yang khusus/langka. Secara umum, bugs mesin inferensi dapat muncul pada saat operasi pencocokan pola (pattern matching), konflik, dan eksekusi, dan akan sulit dideteksi jika bugs ini tidak konsisten. Metode sederhana yang dapat digunakan untuk memeriksa error adalah dengan bertanya pada user lain atau vendor. Vendor harus menyediakan daftar pelanggan, bugs report, dan cara perbaikan bugs. Kelompok user juga merupakan sumber informasi yang baik untuk menangani bugs ini.
Kesalahan rantai proses inferensi (inference chain error).  Kesalahan ini dapat disebabkan oleh kesalahan knowledge, kesalahan semantik, bugs inferensi engine, spesifikasi prioritas aturan (rule) yang tidak tepat, dan interaksi antar rule yang tidak diperhitungkan. Kesalahan rantai proses inferensi yang lebih kompleks disebabkan karena ketidakpastian rule dan fakta, dan akibat lanjutan dari ketidakpastian tersebut dalam rantai proses inferensi dan nonmonoticity.
Batas toleransi terhadap kekurangan (Limits of ignorance error). Salah satu masalah yang umum dihadapi semua tahap pengembangan adalah menentukan batas toleransi terhadap kekurangan oleh sistem. Pakar mengetahui batas pengetahuan yang mereka miliki dan kemampuannya berkurang pada batas tersebut. Pakar harus jujur mengakui bahwa solusi mereka tidak optimal dan mengandung ketidakpastian. Pada sistem pakar, kecuali sistem dirancang khusus untuk mengakui ketidakpastian, sistem akan tetap memberikan solusi walaupun proses inferensi yang dilakukan dan fakta yang dimiliki sangat sedikit dan lemah.

Linked List

|| || || Leave a komentar

Dengan menggunakan linked list maka programmer dapat menyimpan datanya kapanpun dibutuhkan.

Linked list mirip dangan array, kecuali pada linked list data yang ingin disimpan dapat dialokasikan secara dinamis pada saat pengoperasian program (run-time). Secara umum linked list tersusun atas sejumlah bagian bagian data yang lebih kecil yang terhubung dan tiap - tiap rantai terhubung dengan pointer.Masing-masing data dalam Linked List disebut dengan node (simpul) yang menempati alokasi memori secara dinamis
dan biasanya berupa struct yang terdiri dari beberapa field.
Linked list memiliki beberapa jenis, di antaranya :
A. Singly linked list
B. Double linked list
C. Multiply linked list
D. Linear linked list
E. Circular Linked List
Namun di sini, hanya akan dijelaskan hanya Singly linked list dan Double linked listkarena itu sudah menyeluruh dalam linked list itu.
A. Single linked list non circular
Tempat yang disediakan pada satu area memori tertentu untuk menyimpan data dikenal dengan sebutan node atau simpul. Setiap node memiliki pointer yang menunjuk ke simpul berikutnya sehingga terbentuk satu untaian,dengan demikian hanya diperlukan sebuah variabel pointer.Susunan berupa untaian semacam ini disebut Single Linked Lis (NULL memilik nilai khusus yang artinya tidak menunjuk ke mana-mana.Biasanya Linked List pada titik akhirnya akan menunjuk ke NULL).
Dalam pembuatan single linked list dapat menggunakan dua metoda:
a. LIFO (Last In First Out) aplikasinya : Stack (Tumpukan)Adalah suatu metoda pembuatan linked list dimana data yang masuk paling akhir adalah data yang keluar paling awal.
b. FIFO (First In First Out) aplikasinya : Queue (Antrian)Adala suatu metoda pembuatan linked list dimana data yang masuk paling awal adalah data yang keluar paling awal juga.
Ada beberapa proses dalam pembuatan linked list yaitu :
· Pembuatan simpul baru
Contoh algoritmanya :
struct TNode
{
int data;
TNode *next;
};
Pembuatan struct bernama TNode yang berisi 2 field,
yaitu field data bertipe integer dan field next yang bertipe pointer dari Tnode. Setelah pembuatan struct, buat variabel head yang bertipe pointer dari TNode yang berguna sebagai kepala linked list.
TNode *head;
elanjutnya digunakan keyword new yang berarti mempersiapkan sebuah node baru berserta alokasi memorinya kemudian node tersebut diisi data dan pointer nextnya ditunjuk ke NULL. Contohnya :
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
Dalam pembuatan simpul baru jangan lupa untuk menggunakan fungsi malloc() sebagai pointer. Fungsi ini dideklarasikan di dalam header stdlib.h. Dengan demikian, jangan lupa untuk meng-include header tersebut.

Contoh instruksinya :
P = (simpul*) malloc(sizeof(simpul));
Algoritmanya :
Void Buat_Simpul(int x)
{
P = (simpul*) malloc(sizeof(simpul));
If (P != NULL)
{ P - > Info = x; }
Else
Cout<<”Simpul gagal dibuat”;
}

Selanjutnya terdapat fungsi Inisialisasi dalam single linked list yaitu suatu proses awal yang menyatakan linked list belum ada.
Potongan algoritmanya :
void init()
{
head = NULL;
}
Di mana jika pointer head tidak menunjuk pada suatu node maka kosong.
int isEmpty()
{
if(head == NULL) return 1;
else return 0;
}
· Penambahan Node Linked List
Bila setiap penambahan simpul pada linked list dilakukan pada bagian depan (paling dekat dengan head) maka kompleksitas yang diperlukan untuk menambah node baru dalam linked list konstan atau O(1).
Untuk menu memasukkan data baru , digunakan bentuk algoritma seperti ini :
void insertDepan(int databaru)
{
TNode *baru;
baru = new TNode;
baru->data = databaru;
baru->next = NULL;
if(isEmpty()==1)
{
head=baru;
head->next = NULL;
}
else
{
baru->next = head;
head = baru;
}
cout<<endl;
cout<<”       Data masuk…\n”;
getch();
}

Percabangan Pada C++

|| || || Leave a komentar
PERCABANGAN DENGAN IF

Sebagai instruksi bersyarat, artinya instruksi tertentu hanya akan dieksekusi jika syarat tertentu dipenuhi pula.

Syntax :

Bentuk 1:

IF (kondisi)

{ statement yang dikerjakan
  jika kondisi benar
}

Ket: Jika kondisi salah, tidak akan mengerjakan apapun didalam instruksi IF (langsung menuju ke instruksi berikutnya)

Bentuk 2:

IF (kondisi)

{ statement yang dikerjakan
  jika kondisi benar
}
ELSE
{ statement yang dikerjakan
  Jika kondisi salah
}

Bentuk 3:

IF (kondisi1)

{ statement yang dikerjakan
  jika kondisi1 benar
}
ELSE

IF (kondisi2)

{ statement yang dikerjakan
  jika kondisi2 benar
}
ELSE
IF (kondisi3)
{ statement yang dikerjakan
  Jika kondisi3 salah
}
.
.
.
ELSE
{ statement yang dikerjakan
  Jika kondisi1 s.d kondisi-n salah (tidak terpenuhi)
}

Perulangan Pada C++

|| || || Leave a komentar
Perulangan atau dalam istilah lain disebut dengan loop. Perulangan dipakai ketika kita dihadapkan pada suatu masalah dalam jumlah besar yang membutuhkan penyelesaian terkadang sama dengan pola yang telah kita ketahui. Contoh perulangan dikehidupan nyata. Tuliskan “Ini adalah Perulangan” sebanyak 100 kali.
Kita lihat ada 100 masalah dengan 100 penyelesaian sama dengan pola yang sama, disinilah perulangan sangat berguna, mengefisiensikan pekerjaan kita.
Pada bahasa pemrograman c ada 3 macam perulangan, dengan menggunakan for, while-do, dan do-while.
Perbedaan for, while-do, dan do-while
Ketiga jenis perulangan ini memiliki cara kerja yang berbeda namun bisa digunakan menyelesaikan kasus yang sama dengan proses dan karakteristik mereka masing-masing.
for : menggunakan nilai awal, nilai akhir, dan pola perulangan do-while : menggunakan nilai awal, kondisi akhir, pola perulangan, dan pengecekan kondisi keluar dari perulangan di awal. while-do : menggunakan nilai awal, kondisi akhir, pola perulangan, dan pengecekan kondisi keluar dari perulangan di akhir.
Berikut Contoh Perulangan For :



//header file
#include "conio.h"
#include "stdio.h"
 
void main(){
//define variabel
int i;
 
 for(i=0;i < 10;i++){
   printf(i);
  }
 
getch();
}