Subscribe:

Ads 468x60px

Kamis, 30 Juni 2011

File Header dalam C++

  • <stdio.h>  yang merupakan singkatan dari "standard input / output header", adalah header yang berisi definisi makro, konstanta, dan deklarasi fungsi dan jenis yang digunakan untuk berbagai standard input dan output operasi 
  • <conio.h>  adalah header file yang digunakan untuk membuat teks antarmuka pengguna
  • <assert.h> adalah file header yang mendefinisikan makro menegaskan C preprocessor
  • <complex.h>  adalah file header yang mendefinisikan fungsi untuk aritmatika kompleks
  • <ctype.h>  adalah header untuk deklarasi yang  berfungsi mengklasifikasi karakter
  • <errno.h>  adalah file header yang berfungsi melaporkan kondisi kesalahan melalui kode kesalahan.
  • <fenv.h>  adalah file header yang mengandung berbagai fungsi dan macro untuk memanipulasi lingkungan floating-point
  • <float.h>  adalah header  yang berfungsi memperluas ke berbagai limit dan parameter dari jenis floating-point standar
  • <inttypes.h>  file header berfungsi mendefinisikan beberapa macro untuk digunakan dengan fungsi printf dan scanf, serta fungsi untuk bekerja dengan jenis intmax_t.
  • <iso646.h>  adalah header yang  mendefinisikan beberapa macro yang memungkinkan programmer untuk menggunakan C bitwise bahasa dan operator logika, yang, tanpa file header, tidak bisa cepat atau mudah diketik pada beberapa keyboard non-QWERTY internasional dan.
  • limits.h adalah file header dari perpustakaan standar bahasa pemrograman C yang mencakup definisi karakteristik dari jenis variabel umum
  • <locale.h>  adalah pemrograman bahasa C file header, digunakan untuk tujuan lokalisasi
  • <math.h>  berisi prototype fungsi untuk pustaka matematika 
  • <string.h>  berisi prototype fungsi untuk pemrosesan string 

Algoritma Quick Sort

Pengenalan

Algoritma quick sort diperkenalkan pertama kali oleh C.A.R. Hoare pada tahun 1960, dan dimuat sebagai artikel di “Computer Journal 5” pada April 1962. Quick sort adalah algoritma sorting yang berdasarkan pembandingan dengan metoda divide-and-conqueror. Disebut Quick Sort, karena Algoritma quick sort mengurutkan dengan sangat cepat. Quick sort disebut juga dengan partition exchange sort, karena konsepnya membuat partisi-partisi, dan sort dilakukan per partisi.

Teknik mempartisi tabel:

(i).   Pilih x ϵ {a1, a2, …, an} sebagai elemen pivot.
(ii).  Pindai (scan) tabel dari kiri sampai ditemukan elemen ap ≥ x.
(iii). Pindai tabel dari kanan sampai ditemukan elemen aq ≤ x
(iv). Pertukarkan ap <-> aq
(v).  Ulangi (ii) dari posisi p + 1, dan (iii) dari posisi q – 1, sampai kedua pemindaian bertemu di tengah tabel.
 

Algoritma quick sort mengurutkan dengan sangat cepat, namun algoritma ini sangat komplex dan diproses secara rekursif. Sangat memungkinkan untuk menulis algoritma yang lebih cepat untuk beberapa kasus khusus, namun untuk kasus umum, sampai saat ini tidak ada yang lebih cepat dibandingkan algoritma quick sort.

Walaupun begitu algoritma quick sort tidak selalu merupakan pilihan yang terbaik. Seperti yang telah disebutkan sebelumnya, algoritma ini dilakukan secara rekursif yang berarti jika dilakukan untuk tabel yang berukuran sangat besar, walaupun cepat, dapat menghabiskan memori yang besar pula. Selain itu, algoritma ini adalah algoritma yang terlalu komplex untuk mengurutkan tabel yang berukuran kecil (hanya puluhan elemen misalnya). Selain itu algoritma quick sort mempunyai tingkat efisiensi yang buruk ketika dioperasikan pada tabel yang hampir terurut atau pada tabel yang terurut menurun.

Algoritma Quick Sort

Dalam algoritma quick sort, pemilihan pivot adalah hal yang menentukan apakah algoritma quick sort tersebut akan memberikan performa terbaik atau terburuk. Berikut beberapa cara pemilihan pivot :

  1. Pivot adalah elemen pertama, elemen terakhir, atau elemen tengah tabel. Cara ini hanya bagus jika elemen tabel tersusun secara acak, tetapi tidak bagus jika elemen tabel semula sudah terurut. Misalnya, jika elemen tabel semula menurun, maka semua elemen tabel akan terkumpul di upatabel kanan.
  2. Pivot dipilih secara acak dari salah satu elemen tabel. Cara ini baik, tetapi mahal, sebab memerlukan biaya (cost) untuk pembangkitan prosedur acak. Lagi pula, itu tidak mengurangi kompleksitas waktu algoritma.
  3. Pivot adalah elemen median tabel. Cara ini paling bagus, karena hasil partisi menghasilkan dua bagian tabel yang berukuran seimbang (masing masing ≈ n/2 elemen). Cara ini memberikan kompleksitas waktu yang minimum. Masalahnya, mencari median dari elemen tabel yang belum terurut adalah persoalan tersendiri.
Algoritma Quick Sort terdiri dari dua prosedur, yaitu prosedur PARTISI dan prosedur QUICKSORT. Berikut pseudocode dari algoritma quick sort :

Procedure QuickSort (input/output a : array [1..n] of integer, input i , j : integer ) {mengurutkan tabel a[i..j] dengan algoritma quick sort. Masukkan: Tabel a[i..j] yang sudah terdefinisi elemen-elemennya. Keluaran: Tabel a[i..j] yang terurut menaik.}

Deklarasi :
k : integer;
Algoritma :
if (i<j) then
Partisi(a,i,j,k) { Ukuran (a) > 1}
QuickSort(a,i,k)
QuickSort(a,k+1, j)
Endif
Procedure Partisi (input/output: a : array[1..n] of integer, input i , j : integer, output q : integer)
{Membagi tabel a[i..j] menjadi subtabel a[i..q] dan a[q+1..j]. Keluaran upatabel a[i..q] dan subtabel a[q+1..j]. Sedemikian sehingga elemen tabel a[i..q] lebih kecil dari elemen tabel a[q+1..j]}
Deklarasi :
Pivot, temp : integer
Algoritma :
Pivot <- A[(i+j) div 2] { pivot = elemen tengah }
p <- i
q <- j
repeat
while a[p] < pivot do
p <- p + 1
endwhile
{ Ap >= pivot }
while a[q] > pivot do
q <- q – 1
endwhile
{ Aq >= pivot }
if (p _ q) then
{ pertukarkan a[p] dengan a[q]}
temp <- a[p]
a[p] <- a[q]
a[q] <- temp
{ tentukan awal pemindaian berikutnya}
p <- p+ 1
q <- q – 1
endif
until p > q


Kompleksitas Algoritma Quick Sort
Kebutuhan waktu dari quicksort bergantung pada pembuatan partisi, seimbang atau tidak, yang bergantung juga pada elemen yang digunakan sebagai pivot. Dalam menghitung kompleksitas ini, perlu dilihat pula perhitungan recurrence, karena terdapat fungsi rekursif untuk penyelesaian sub-masalah.

Terdapat 3 jenis kompleksitas waktu dari quicksort:

    Kasus terburuk (worst case), yaitu terjadi bila terbentuk partisi dengan komposisi sub-masalah antara n – 1 elemen dan 0 elemen. Dengan demikian pemanggilan fungsi secara rekursif dengan array berukuran 0 akan langsung kembali, T(0) = Θ(1), sehingga berlaku: T(n) = T(n – 1) + cn = O(n2).
    Kasus terbaik (best case), yaitu terjadi bila terbentuk partisi dengan dengan komposisi seimbang, dengan ukuran masing-masing tidak lebih dari n/2. Sehingga didapat: T(n) = 2T(n/2) + cn = na + cn log n = O(n log n).
    Kasus rata-rata (average case), yaitu terjadi dari perimbangan pivot antara terbaik dan terburuk, yang dalam prakteknya lebih mendekati kasus terbaik ketimbang terburuk. Sehingga didapat: Tavg(n) = O(n log n).

Kelebihan dan Kelemahan Algoritma Quick Sort

Beberapa hal yang membuat quick sort unggul:

    Secara umum memiliki kompleksitas O(n log n).
    Algoritmanya sederhana dan mudah diterapkan pada berbagai bahasa pemrograman dan arsitektur mesin secara efisien.
    Dalam prakteknya adalah yang tercepat dari berbagai algoritma pengurutan dengan perbandingan, seperti merge sort dan heap sort.
    Melakukan proses langsung pada input (in-place) dengan sedikit tambahan memori.
    Bekerja dengan baik pada berbagai jenis input data (seperti angka dan karakter).

Namun terdapat pula kelemahan quick sort:

    Sedikit kesalahan dalam penulisan program membuatnya bekerja tidak beraturan (hasilnya tidak benar atau tidak pernah selesai).
    Memiliki ketergantungan terhadap data yang dimasukkan, yang dalam kasus terburuk memiliki kompleksitas O(n2).
    Secara umum bersifat tidak stable, yaitu mengubah urutan input dalam hasil akhirnya (dalam hal inputnya bernilai sama).
    Pada penerapan secara rekursif (memanggil dirinya sendiri) bila terjadi kasus terburuk dapat menghabiskan stack dan memacetkan program.

Implementasi Algoritma Quick Sort

Berikut adalah implementasi dari quick sort dalam bahasa C. Implementasinya terbagi menjadi dua prosedur, yaitu prosedur partisi dan prosedur quicksort.

void quicksort(int x[], int first, int last) {

int pivIndex = 0;

if(first < last) {

pivIndex = partition(x,first, last);

quicksort(x,first,(pivIndex-1));

quicksort(x,(pivIndex+1),last);

}

}

int partition(int y[], int f, int l) {

int up,down,temp;

int piv = y[f];

up = f;

down = l;

goto partLS;

do {

temp = y[up];

y[up] = y[down];

y[down] = temp;

partLS:

while (y[up] <= piv && up < l) {

up++;

}

while (y[down] > piv  && down > f ) {

down–;

}

} while (down > up);

y[f] = y[down];

y[down] = piv;

return down;

}



Sumber

Senin, 27 Juni 2011

METODE SISTEM.

  • BLACKBOX APPROACH
  • ANALITYC SISTEM.
  1. BLACKBOX APPROACH
    Suatu sistem dimana input dan outputnya dapat didefinisikan tetapi prosesnya tidak diketahui atau tidak terdefinisi.
    Metode ini hanya dapat dimengerti oleh pihak dalam ( yang menangani ) sedangkan pihak  luar  hanya  mengetahui  masukan  dan  hasilnya.  Sistem  ini  terdapat  pada subsistem tingkat terendah.
    Contoh : - bagian pencetakan uang, proses pencernaan.


    Masukan yang sudah terdefinisi ===> Pengolahan yang tidak terdefinisi ====> Keluaran yang sudah terdefinisi.
  2. ANALITYC SISTEM
    Suatu  metode  yang  mencoba  untuk  melihat  hubungan  seluruh  masalah  untuk menyelidiki kesistematisan tujuan dari sistem yang tidak efektif dan evaluasi pilihan dalam bentuk ketidak efektifan dan biaya.

    Dalam metode ini beberapa langkah diberikan seperti di bawah ini menentukan :
    a. Identitas dari sistem.
    • sistem apa yang diterapkan.
    • batasannya. 
    • apa yang dilaksanakan sistem tersebut.
    b. Menentukan tujuan dari sistem.
    • output yang dihasilkan dari isi sistem.
    • fungsi dan tujuan yang diminta untuk mencoba menanggulangi ingkungan.
    c. Bagian-bagian apa saja yg terdapat dalam sistem dan apa tujuan dari masing-masing bagian tersebut.
    • tujuan masing-masing bagian sistem harus jelas.
    • cara apa yang digunakan subsistem untuk berhubungan dengan subsistem lain.
    d. Bagaimana  bagian-bagian  yang  ada  dalam  sistem  itu  saling  berhubungan menjadi satu kesatuan.

    Dosen : Yakub, S.Kom., M.Kom., MM

KLASIFIKASI SISTEM

          KLASIFIKASI SISTEM  ( 1 )
  1. DETERMINISTIK SISTEM.
    Sistem dimana operasi-operasi (input/output) yang terjadi didalamnya dapat ditentukan/ diketahui dengan pasti.
    Contoh : Program komputer, melaksanakan secara tepat sesuai  dengan rangkaian instruksinya.Sistem penggajian.
  2. PROBABILISTIK SISTEM.
    Sistem yang input dan prosesnya dapat didefinisikan, tetapi output yang dihasilkan tidak dapat ditentukan dengan pasti; (Selalu ada sedikit kesalahan/penyimpangan terhadap ramalan jalannya sistem).
    Contoh : Sistem penilaian ujian, Sistem pemasaran. 
     

    KLASIFIKASI SISTEM (2)
  3. OPEN SISTEM.
    Sistem  yang  mengalami  pertukaran  energi,  materi  atau  informasi  dengan lingkungannya. Sistem ini cenderung memiliki sifat adaptasi, dapat menyesuaikan diri dengan lingkungannya sehingga dapat meneruskan eksistensinya.
    Contoh : Sistem   keorganisasian   memiliki   kemampuan   adaptasi. (Bisnis   dalam menghadapi persaingan dari pasar yang berubah. Perusahaan yang tidak dapat menyesuaikan diri akan tersingkir)

    KLASIFIKASI SISTEM (3)

  4. CLOSED SISTEM.
    Sistem fisik di mana proses yang terjadi tidak mengalami pertukaran materi, energi atau informasi dengan lingkungan di luar sistem tersebut. Contoh : - reaksi kimia dalam tabung berisolasi dan tertutup.

    KLASIFIKASI SISTEM (4) 
  5. RELATIVELY CLOSED SISTEM.
    Sistem yang tertutup tetapi tidak tertutup sama sekali untuk menerima pengaruhpengaruh lain. Sistem ini dalam operasinya dapat menerima pengaruh dari luar yang sudah didefinisikan dalam batas-batas tertentu
    Contoh : Sistem komputer.  (Sistem  ini  hanya  menerima  masukan  yang  telah  ditentukan sebelumnya, mengolahnya dan memberikan keluaran yang juga telah ditentukan sebelumnya. tidak terpengaruh oleh gejolak di luar sistem).

    KLASIFIKASI SISTEM (5) 
  6. ARTIFICIAL SISTEM.
    Sistem yang meniru kejadian dalam alam. Sistem ini dibentuk berdasarkan kejadian di alam di mana manusia tidak mampu melakukannya. Dengan kata lain tiruan yang ada di alam.
    Contoh : Sistem AI, yaitu program komputer yang mampu membuat computer seolah-olah berpikir.
    Sistem robotika. Jaringan neutral network.
     
  7. NATURAL SISTEM.
    Sistem yang dibentuk dari kejadian dalam alam.
    Contoh : - laut, pantai, atmosfer, tata surya dll.

    KLASIFIKASI SISTEM (6) 
  8. MANNED SISTEM.
    Sistem penjelasan tingkah laku yang meliputi keikut sertaan manusia. Sistem ini dapat digambarkan dalam cara-cara sebagai berikut :
     1.  Sistem manusia-manusia.
          Sistem yang menitik beratkan hubungan antar manusia.
    2.  Sistem manusia-mesin.
         Sistem yang mengikutsertakan mesin untuk suatu tujuan.
    3.  Sistem mesin-mesin.

    KLASIFIKASI SISTEM (7)
    Sistem yang  otomatis  di  mana  manusia  mempunyai  tugas  untuk  memulai  dan mengakhiri sistem, sementara itu manusia dilibatkan juga untuk memonitor sistem.
    Mesin   berinteraksi   dengan   mesin   untuk   melakukan   beberapa   aktifitas. Pengotomatisan ini menjadikan bertambah pentingnya konsep organisasi, dimana  manusia dibebaskan dari tugas-tugas rutin atau tugas-tugas fisik yang berat.

    KLASIFIKASI SISTEM (8)
    Perancang sistem lebih banyak menggunakan metode " Relatively Closed dan  Deterministik  Sistem  ",  karena  sistem  ini  dalam  pengerjaannya  lebih  mudah meramalkan hasil yang akan diperoleh dan lebih mudah diatur dan diawasi.
    Contoh : Pada bidang sistem informasi, faktor komputer dan program computer biasanya " Relatively Closed dan Deterministik ", tetapi faktor manusia sebagai pengelolanya adalah " Open dan Probabilistik Sistem ".
    Dosen : Yakub, S.Kom., M.Kom., MM

PEMBAGIAN SYSTEM

SECARA GARIS BESAR, SISTEM DAPAT DIBAGI 2 :
  1. SISTEM FISIK ( PHYSICAL SYSTEM ):
    Kumpulan elemen-elemen/ unsur-unsur yang saling berinteraksi satu sama lain secara fisik serta dapat diidentifikasikan secara nyata tujuan - tujuannya.
    Contoh : Sistem transportasi, elemen  : petugas, mesin, organisasi yang menjalankan transportasi.
    Sistem Komputer, elemen  : peralatan yang berfungsi bersama-sama untuk menjalankan pengolahan data.
  2. SISTEM ABSTRAK ( ABSTRACT SYSTEM):
    Sistem yang dibentuk akibat terselenggaranya ketergantungan ide, dan tidak dapat diidentifikasikan secara nyata, tetapi dapat diuraikan elemennnya.
    Contoh : Sistem Teologi, hubungan antara manusia dengan Tuhan.
Dosen : Yakub, S.Kom., M.Kom., MM

Syarat" SYSTEM

Syarat -syarat system
  • Sistem harus dibentuk untuk menyelesaikan tujuan. 
  • Elemen sistem harus mempunyai rencana yang ditetapkan. 
  • Adanya hubungan diantara elemen sistem. 
  • Unsur dasar dari proses (arus informasi, energi dan material) lebih penting dari pada elemen sistem.  
  • Tujuan organisasi lebih penting dari pada tujuan elemen. 
    Dosen : Yakub, S.Kom., M.Kom., MM

KONSEP SISTEM INFORMASI

KONSEP SISTEM INFORMASI LANJUT

DEFINISI SISTEM 

 
  • LUDWIG VON BARTALANFY.
    Sistem merupakan seperangkat unsur yang saling terikat dalam suatu antar relasi diantara unsur-unsur tersebut dengan lingkungan.
  • ANATOL RAPOROT.
    Sistem adalah suatu kumpulan kesatuan dan perangkat hubungan satu sama lain.
  • L. ACKOF.
    Sistem adalah setiap kesatuan secara konseptual atau fisik yang terdiri dari bagian-bagian dalam keadaan saling tergantung satu sama lainnya.


    Dosen : Yakub, S.Kom., M.Kom., MM

Sabtu, 18 Juni 2011

PERENCANAAN USAHA

 MENYUSUN RENCANA USAHA / BISNIS

 IGambaran Usaha
  • Jenis usaha yang akan dilakukan
  • Mengapa memilih jenis usaha tersebut?
  • Target pembeli yang akan dicapai
  • Keahlian yang anda/pengelola miliki yang akan menunjang dalam menjalankan usaha tersebut
  • Tentukan visi-misi 
  • Tujuan yang akan dicapai oleh usaha dalam jangka pendek, menengah (2 tahun) dan jangka panjang
  • Sebutkan kelebihan barang/jasa yang akan dihasilkan disbanding dengan cara yang dimiliki oleh pesaing
  • Imeg apa yang akan digunakan atau dibangun dari usaha
IIManajemen dan Operasional
  1. Lakukan analisis SWOT (Strenght/kekuatan, Weaknesses/kelemahan,Opportunities/peluang dan Threat/ancaman)
    • Kekuatan/kelebihan yang anda miliki?
    • Kelemahan/kekuarangan yang anda miliki?
    • Peluang yang akan dapat dimanfaatkan?
    • Ancaman yang mungkin akan anda hadapi?
  2. Pengelola
    • Berapa jumlah karyawan yang dibutuhkan, rinci dan jelaskan keahlian yang harus dimiliki.
  3. Organisasi Usaha
    • Bentuk badan usaha yang akan digunakan
    • Mengapa memilih badan usaha tersebut
    • Nama perusahaan?
    • Susunan organisasi yang akan diterapkan
  4. Ijin
    • Ijin-ijin yang anda rencanakan untuk dimiliki
  5. Tempat Usaha
    • Sebutkan lokasi yang akan dipilih, dan apa alasan anda memilih lokasi tersebut?
    • Berapa luas tempat usaha yang anda butuhkan, rinci dan jelaskan masing-masing kegunaannya.
    • Apa lokasi ini anda peroleh dengan membeli atau sewa?
    • Apa masalah pokok yang anda hadapi dalam pengadaan usaha ini? Bagaimana rencana pemecahannya?
  6. Kegiatan Usaha
    A .   Bila anda ingin bergerak dalam bidang produksi/manufaktur :
    • Jelaskan proses produksi, mulai dari bahan baku sampai dengan barang jadi, termasuk layout atau tata letak pabrik
    • Akankah anda mengurus paten dari produk.
    • Berapa lama anda perkirakan akan menggunakan cara produksi ini, untuk kemudian menggantikannya.
    • Rinci bahan baku dan bahan pendukung yang diperlukan dalam usaha ini
    • Sumber dan harga pabrik/mesin yang akan digunakan?
    • Berapa tenaga kerja yang anda butuhkan untuk menjalankannya?
    • Bagaimana system upah, harian, bulanan/borongan?
    • Berapa rencana upah yang akan diberikan?
    B .  Bila anda ingin bergerak dibidang eceran :
    • Rinci barang yang akan dijual
    • Rencana lokasi yang akan digunakan, mengapa?
    • Bagaimana anda membeli barang (diantar/diambil)?
    • Bagaiamana kebijakan pembelian/persediaan barang (kontan.kredit/konsiprasi)?
    • Darimana dan siapa yang akan anda jadikan pemasok barang? Mengapa?
    • Bagaimana syarat penjualan yang anda gunakan (kontan/kredit)?
    • Bagaimana rencana tata letak barang dalam took?
    C .  Bila anda ingin bergerak dalam bidang Jasa
    • Jelaskan jasa yang akan anda jual
    • Apa syarat-syarat yang biasa dipergunakan untuk berusaha dalam bidang ini
    • Sudah atau dapatkah anda memenuhi syara ini, jelaskan?
    • Siapa yang akan bertanggungjawab penuh untuk menangani usaha ini sehari-hari, dan bagaimana kualifikasinya?
    • Apa atau bagian manakah factor yang paling utama/penting pada usaha ini, jelaskan?
    • Bagaimana rencana anda untuk mengatasi resiko atau maslaah yang mungkin timbul pada bagian utama/penting ini?
    • Apakah anda akan mengasuransikan usaha anda ini?
III Rencana Pemasaran
A .  Yang akan dijadikan target pemasaran produk yang anda tawarkan :
  • Tempat tinggal: perdesaan/perkotaan
  • Tingkat penghasilan: tinggi.sedang/rendah
  • Usia
  • Jenis kelamin
  • Pekerjaan
  • Pendidikan
  • Gaya hidup
B .  Pesaing
  • Siapa pesaing anda yang kuat
  • Sudah berapa besarkah pesaing anda menguasai pasar
  • Apa kelebihan dan kelemahan pesaing dibanding dengan anda?
  • Adakah stregegi khusus yang anda gunakan untuk mengungguli pesaing?
C .  Program pemasaran

  • Metode distribusi yang anda gunakan dan mengapa memilih metode tersebut
  • Bagaimana anda akan merancang jenis-jenis promosi (Humas, publisitas, promosi penjualan, dsb)
  • Jelaskan teknik penentuan harga yang akan anda gunakan, jelaskan mengapa anda menggunakan teknik ini.
IV .   Rencana Keuangan

A . Modal yang dibutuhkan
  • Jelaskan dengan rinci harta kekayaan (peralatan, tanah, bangunan) yang dibutuhkan untuk menjalankan usaha ini, darimana anda bisa mendapatkannya dan berapa harga masing-masing?
  • Perkiraan biaya-biaya tetap yang anda perlukan
  • Biaya-biaya variabel (bahan baku dan bahan penunjang) yang anda perlukan untuk satu perputaran usaha.
  • Total biaya yang anda butuhkan untuk dapat memulai usaha ini
  • Darimanakah anda mendapatkan seluruh keperluan biaya yang anda perlukan dan bila perlu jelaskan cara mendapatkannya.
B .  Perkiraan laba rugi
  • Buat perkiraan laba-rugi dari usaha yang akan anda jelaskan secara bertahap sehingga menghasilkan laba bersih setelah bunga dan pajak.

    DOSEN : Era-era Hia.