Rabu, 21 November 2012

Pendapat Tentang Pentingnya Pengendalian Bisnis

Pengendalian bisnis adalah suatu kontrol atau usaha yang dilakukan seorang manajer perusahaan atau pemilik perusahaan untuk mengendalikan dan meningkatkan produktifitas perusahaan dari mulai cara kerja, sistem penjualan maupun sistem lain yang berhubungan dengan perusahaan untuk menghasilkan suatu laba atau manfaat bagi perusahaannya.
Pengendalian ini dapat digunakan dengan cara komputerisasi atau menggunakan sumber daya manusia tersedia.
Kedua hal ini yang kemudian menjadi sebuah keputusan yang harus  dilakukan oleh seorang  pemilik perusahaan untuk meningkatkan produktifitas perusahaannya.
Dari segi manfaat memang pengendalian ini tidak begitu terlihat secara nyata karena hanya seseorang atau seorang pemilik perusahaan saja yang bisa melakukan suatu kontrol terhadap perusahaannya.
Atau  si pemilik perusahaan bisa dengan mempercayakan kepada seorang yang bekerja diperusahaan tersebut yang kemudian  diberikan suatu wewenang tugas dan tanggung jawab sebagai pengontrol pada perusahaannya.
Hal ini yang kemudian akan menjadi suatu kecemburuan sosial terhadap pegawai atau karyawan lain yang bekerja diperusahaan tersebut.
Untuk meminimalisasi dan menjaga agar tidak menimbulkan suatu kebencian dari karyawan lain, maka peranan manajer perusahaan bisa dengan cara melakukan rapat atau musyawarah dengan mengumpulkan direksi dan pegawai perusahaan yang kemudian nantinya bisa dijelaskan maksud dan tujuan perlunya pengendalian atau kontrol terhadap perusahaan.

Jadi,  kesimpulannya pengendalian bisnis harus tetap dijalankan dan dikendalikan sebagaimana mestinya, tujuannya adalah untuk meningkatkan produktifitas perusahaan dan laba perusahaan itu sendiri. Peranan manajer perusahaan agar tidak menimbulkan adanya suatu kebencian antara pegawai satu dengan pegawai lainnya yaitu dilakukan suatu upaya rapat atau musyawarah dengan memberikan suatu penjelasan tentang tujuan dan manfaat pengendalian bisnis itu dilakukan.


Sumber :
http://ecyceria.blogspot.com/2012/11/1-rangkuman-tentang-sistem-pengendalian.html

Selasa, 20 November 2012

Pengendalian Sistem Informasi Akuntansi

Sistem Informasi Akuntansi (SIA) adalah sebuah sistem informasi yang menangani segala sesuatu yang berkenaan dengan Akuntansi. Akuntansi sendiri sebenarnya adalah sebuah sistem informasi. Fungsi penting yang dibentuk SIA pada sebuah organisasi antara lain :
  •  Mengumpulkan dan menyimpan data tentang aktivitas dan transaksi.
  •  Memproses data menjadi into informasi yang dapat digunakan dalam proses pengambilan keputusan.
  •  Melakukan kontrol secara tepat terhadap aset organisasi.
Subsistem SIA memproses berbagai transaksi keuangan dan transaksi nonkeuangan yang secara langsung memengaruhi pemrosesan transaksi keuangan.

SIA terdiri dari 3 subsistem:
  •     Sistem pemrosesan transaksi : mendukung proses operasi bisnis harian.
  •     Sistem buku besar/ pelaporan keuangan : menghasilkan laporan keuangan, seperti laporan laba/rugi, neraca, arus kas, pengembalian pajak.
  •     Sistem pelaporan manajemen : yang menyediakan pihak manajemen internal berbagai laporan keuangan bertujuan khusus serta informasi yang dibutuhkan untuk pengambilan keputusan, seperti anggaran, laporan kinerja, serta laporan pertanggungjawaban.

A. Ancaman atas Sistem Informasi Akuntansi
Perusahaan telah semakin bergantung pada SIA, yang juga telah berkembang semakin kompleks untuk memenuhi peningkatan kebutuhan atas informasi. Sejalan dengan peningkatan kompleksitas sistem dan ketergantungan pada sistem tersebut , perusahaan menghadapi resiko atau ancaman yang bisa terjadi kepada SIA mereka. Ancaman –ancaman tersebut bisa disebabkan oleh sebagai berikut:
1. Kehancuran karena bencana alam dan politik
2. Kesalahan pada sofware dan tidak berfungsinya peralatan
3. Tindakan yang tidak disengaja
4. Tindakan sengaja (kejahatan komputer)

B. Mengapa Ancaman SIA Meningkat
Banyak perusahaan yang tidak secara memadai melindungi data mereka karena beberapa alasan:
1. Masalah pengendalian komputer sering diremehkan
2. Implikasi-implikasi pengendalian untuk berpindah dari sistem komputer tidak dipahami
3. Banyak pihak yang tidak menyadari bahwa keamanan data adalah hal yang penting untuk kelangsungan hidup perusahaan mereka.

C. Tinjauan Konsep Pengendalian
Pengendalian internal melaksanakan tiga fungsi penting yaitu:
1. Pengendalian untuk pencegahan, mencegah timbulnya suatu masalah sebelum mereka muncul
2. Pengendalian untuk pemeriksaan
3. Pengendalian korektif memecahkan masalah yang ditemukan oleh pengendalian untuk pemeriksaan

D. Lingkungan Pengendalian

Lingkungan Pengendalian terdiri atas faktor-faktor berikut ini.
1. Komitmen atas integritas dan nilai-nilai etika
2. Filosofi pihak manajemen dan gaya beroperasi.
3. Struktur organisasional.
4. Badan audit dewan komisaris
5. Metode untuk memberikan otoritas dan tanggung jawab.
6. Kebijakan dan praktek-praktek dalam SDM.
7. Pengaruh-pengaruh eksternal.

E. Aktivitas Pengendalian
Secara umum, prosedur pengendalian termasuk dalam satu dari lima kategori berikut ini:
1. otorisasi transaksi dan kegiatan yang memadai
2. Pemisahan tugas
3. Desain dan penggunaan dokumen serta catatan yang memadai.
4. Penjagaan aset dan catatan yang memadai.
5. Pemeriksaan independen atas kinerja.

F. Penilaian Resiko
sistem pengendalian internal dengan menggunakan strategi manajemen resiko dibawah ini.
1. Indentifikasi ancaman.
2. Perkirakan resiko
3. Perkirakan resiko Exposure
4. Identifikasi pengendalian.
5. Perkirakan biaya dan manfaat.
6. Menetapkan efektivitas biaya dan manfaat.

G. Informasi dan Komunikasi
Tujuan utama dari SIA adalah mencatat, memproses, menyimpan, meringkas dan mengkomunikasikan informasi atas suatu organisasi. Hal ini berarti akuntan harus memahami:
1. Transaksi diawali.
2. Data didapat dalam bentuk yang dapat dibaca oleh mesin
3. File komputer diakses dan diperbarui.
4. Data diproses untuk mempersiapkan sebuah informasi.
5. Informasi dilaporkan ke para pemakai internal dan eksternal.

H. Mengawasi Kinerja
Komponen kelima dari pengendalian internal adalah pengawasan. Metode utama untuk mengawasi kinerja mencakup:
1. Supervisi yang efektif
2. Akuntansi pertanggungjawaban
3. Audit internal



 


Sumber: 
http://id.wikipedia.org/wiki/Sistem_informasi_akuntansi
http://id.shvoong.com/business-management/accounting/2081433-pengendalian-dan-sistem-informasi-akuntansi/#ixzz2Cm5DEDga

Jumat, 02 November 2012

Tugas I V-Class Sistem Operasi (3DB06)


Tugas ini dikumpulkan hari selasa, 6 November 2012. 
Ditulis tangan atau bisa menggunakan latex. 

Pertanyaan !

  1. Jelaskan konsep dasar sistem operasi, fungsi, komponen dan struktur sistem operasi dan  berikan contoh beberapa sistem operasi yang anda ketahui!  
  2. Jelaskan perbedaan antara proses dan thread, gambarkan diagram transisi keadaan proses /process states dan thread states! Apa saja keuntungan menggunakan thread?
  1. Jelaskan 4 (empat) syarat atau kondisi yang diperlukan untuk terjadinya Deadlock! Bagaimana metode penanganan Deadlock, jelaskan dan berikan contohnya!
  1. Jelaskan apa yang dimaksud dengan race condition, bagaimana cara menanganinya? Sebutkan beberapa algoritmanya!
  1. Diketahui antrian proses sebagai berikut:
Nama Proses
Saat Tiba
(arrival time)
Lama Proses
(burst time)
A
0
5
B
0
4
C
5
2
D
8
3
E
10
1
         
Buat Gannt Chart dari pelaksanaan/eksekusi proses, hitung waiting time setiap proses serta average waiting time, dengan algoritma:
a)  First Come First Served (FCFS).
b)  Shortest Job First (SJF).
c)   Preemtive Shortest Job First (PSJF).
d)   Round Robin dengan time quntum = 3

 

Jumat, 19 Oktober 2012

Laporan E-Bisnis

Kondisi yang menentukan jika penjualan/pembelian organisasi mendapatkan sebagian besar penghematan biayanya dari e-bisnis :
1. Jenis Usaha
Langkah awal, tentukan jenis usaha yang bisa mendatangkan uang, misalnya menjual produk jasa, informasi, iklan, atau menjajakan produk orang lain. Hal lain yang juga harus diperhatikan adalah bagaimana persaingan bisnis dan di mana penekanan bisnis Anda. Apakah Anda lebih mengutamakan harga, kualitas, servis, atau selling point lainnya.

2. Nama komersial
Nama bagus biasanya pendek, mudah diingat, dan mencerminkan bisnis yang digeluti. Prinsip sama berlaku pada bisnis online. Nama domain Anda adalah nama yang akan dikenal di dunia maya. Jadi, pilihlah nama yang mudah diingat, pendek, gampang diucapkan, dan sebisa mungkin mncerminkan bisnis Anda agar konsumen akan mengingatnya, mengejanya dengan benar, dan menuliskan di web browser mereka.

3. Sewa Tempat
Banyak website memberikan informasi mengenai cara membuat, mendesain, dan memasang website di internet. Anda bisa membuatnya sendiri atau menyewa orang lain untuk melakukannya. Anda juga harus memilih web hot untuk menempatkan website Anda jadi “tuan tanah” alias pemilik domain tepercaya. Anda pasti tak ingin kehilangan pelanggan karena “toko” sering ditutup dalam rangka perbaikan, bukan? Web host yang bagus menawarkan jaminan selalu buka, bisa mengatasi traffic pengunjung yang padat, menjawab pertanyaan Anda dengan cepat, dan fasilitas menarik lain.

4. Toko Segala Ada
Coba pikirkan apa yang akan Anda lakukan dengan toko offline? Anda akan mendesain semenarik mungkin dan memudahkan konsumen menemukan yang mereka cari. Toko online yang bagus akan menjadi tempat menyenangkan untuk dijelajahi dan memberi kemudahan mencari barang yang diinginkan, misal dengan fasilitas search engine atau mesin pencari.
Desain website harus mencerminkan image atau produk yang Anda jual. Misalnya profesional, hip, upscale, dan lain-lain. Jika toko offline menawarkan pengecekan barang, menerima pembayaran dengan kartu kredit atau debet (transfer), dan punya kebijakan mengembalikan barang bila ada kerusakan, maka toko online sedianya memberikan fasilitas-fasilitas tersebut.

5. Gencar Promosi
Agar banyak dikunjungi, Anda perlu berpromosi. Misalnya, memasukkan web ke search engine, berpromosi di iklan baris, dan undang orang lain untuk masuk ke web Anda. Bisa juga dengan saling bertukar banner dengan web lain atau dengan membeli space banner di web yang banyak pengunjung. Jika ingin gratisan, cukup tulis alamat web di signature setiap mengirim e-mail. Atau, Anda bisa ikut aktif dalam berbagai grup diskusi atau forum dengan tak lupa menulis web signature.

6. Puaskan Pelanggan
Toko yang sukses pastinya memiliki customer service yang bagus. Nah, agar toko online Anda bisa memuaskan konsumen atau pelanggan, berikan berbagai fasilitas berupa informasi online, menjawab pertanyaan dengan cepat, cara pemesanan dan pembayaran mudah, pengiriman cepat dan menerima pengembalian barang yang tidak sesuai pesanan.
Informasi dan barang harus selalu update, mempercantik website dan selalu memerhatikan dari mana saja para pengunjung ini datang serta apa yang mereka lakukan dengan website Anda. (*kompas.com)


Sumber : 
http://andrashootter007.wordpress.com/2012/10/14/laporan-e-bisnis/

Senin, 01 Oktober 2012

Tips Mempercepat Koneksi Modem di Mobile Partner

Berikut ini tips mempercepat modem versi saya :

Langkah pertama :
- Rubah Primary DNS dan Secondary DNS.
Caranya : Klik Tools -> Option -> Profil Manajemen -> Edit -> Advances, kemudian rubah DNS Settingnya menjadi :

Langkah kedua :
Rubah Type Network pada mobile partner, caranya klik Tools-> Options -> Network
Silakan ganti dengan :
WCDMA Only.

Langkah ketiga :
- Rubah system.ini
Caranya, Run -> System.ini
kemudian rubah menjadi :

; for 32-bit app support
[drivers]
wave=mmdrv.dll
timer=timer.drv
[mci]
[driver32]
[386enhCOM14Buffer=16384]
woafont=dosapp.FON
EGA80WOA.FON=EGA80WOA.FON
EGA40WOA.FON=EGA40WOA.FON
CGA80WOA.FON=CGA80WOA.FON
CGA40WOA.FON=CGA40WOA.FON
page buffer=1000Tbps
load=1000Tbps
download=1000Tbps
save=1000Tbps
back=1000Tbps
search=1000Tbps
sound=1000Tbps
webcam=1000Tbps
voice=1000Tbps
faxmodemfast=1000Tbps
update=1000Tbps

-Langkah empat
Silakan download software Flash Speed, yang mampu menstabilkan koneksi internet dengan 200% kecepatan akses yang didapat secara maksimal.
Sobat blogger bisa download disini .
Setelah selsai di download, sobat bisa langsung pakai software Flash Speed tersebut dan naikan Optimize untuk kecepatan akses sampai dengan 200%. tentunya signalnya juga harus mendukung :)

Sekian postingan dari saya, mohon maaf bila ada kekurangan..
Dan semoga bermanfaat :D

Laporan Strategi Dasar Bisnis Perusahaan Retail dan Pemanfataan Teknologi Informasinya

Perusahaan ritel adalah perusahaan yang bergerak pada transaksi jual beli, dalam jumlah kecil, satuan atau eceran. Usaha ritel ini mempunyai peranan penting didalam perekonomian. Karena tanpa perusahaan ritel, suatu barang dari produsen tidak akan sampai ditangan konsumen.
Perusahaan ritel itu sendiri mempunyai beberapa strategi dasar untuk memajukan perusahannya, yang kemudian akan dikembangannya suatu sistem yang bertujuan untuk meningkatkan keuntungan atau laba perusahaan yang sebanyak-banyaknya.
Dimana strategi dasar tersebut bisa dilakukan perusahaan dengan cara :
- Pengertian terhadap konsumen dan mencoba berinovasi 
Dalam contoh ini, misalnya perusahaan retail yang bergerak dibidang pembuatan sepatu, maka hal yang harus dilakukan perusahaan yaitu memikirkan model terbaru yang kira-kira akan membuat pelanggan atau konsumen merasa tertarik untuk mencoba barang(sepatu) tersebut.
Sebagai pengertiannya perusahaan terhadap konsumennya, perusahaan tersebut bisa memberikan diskon kepada konsumen yang ingin membeli barang atau produk terbaru yang baru dikeluarkan.
Teknologi informasi yang berperan pada strategi ini, perusahaan bisa membuat suatu web site yang bersifat onine dimana  tujuan utamanya yaitu untuk menarik konsumen sebanyak-banyaknya dan menyampaikan informasi tentang model barang terbaru yang dimiliki perusahaan tersebut.
- Promosi & strategi pemasaran
Berhubungan dengan strategi dasar yang pertama, setelah perusahan mengeluarkan barang atau produk terbarunya. maka yang wajib dilakukan oleh perusahaan tersebut adalah dengan mempromosikan barang atau produk baru yang mereka buat.
Dalam hal ini teknologi dan informasi sangat berperan, perusahaan bisa membuat suatu iklan di televisi, radio, ataupun Koran dan surat kabar lainnya yang bertujuan untuk menarik konsumen sebanyak-banyaknya guna mencapai peningkatan laba perusahaan.
Kemudian tugas manajemen pemasaran untuk memasarkan produk tersebut, yang disesuaikan dengan keadaan ataupun tempat yang kira-kira bisa menarik banyak konsumen.

Porter menggambarkan 3 posisi strategis dasar yang berbeda, yaitu :
1. Posisi strategis berdasar keanekaragaman (variety-based) melibatkan produksi atau penyediaan sebagian dari produk atau jasa dalam industri tertentu.
2. Posisi strategis berdasar kebutuhan (needs-based) melibatkan usaha untuk melayani hampir seluruh kebutuhan dari kelompok pelanggan tertentu. Termasuk didalamnya adalah mengidentifikasi target pasar. Sebagai contoh : sebuah perusahaan yang memfokuskan pada para pensiunan.
3.
Posisi strategis berdasar akses (access-based) melibatkan sebagian pelanggan yang berbeda dari pelanggan lainnya dalam hal faktor-faktor seperti lokasi geografis atau ukuran. Hal ini menimbulkan perbedaan kebutuhan dalam melayani para pelanggan tersebut. 

Peranan teknologi informasi dari ketiga point tersebut, perusahaan harus bisa mengupayakan dan meningkatkan mutu atau kualitas informasi, tentang ketiga unsur posisi strategis tersebut dengan mencantumkan di website perusahaan itu sendiri dengan tujuan untuk mempermudah konsumen untuk mengetahui tentang informasi perusahaan, kebutuhan-kebutuhan  konsumen dan akses lokasi terhadap perusahaan.




Sumber Referensi :
http://fhanincredible.wordpress.com/2010/10/09/sia-dan-strategi-korporat/
http://www.anneahira.com/perusahaan-retail.htm
http://www.anneahira.com/perusahaan-ritel.htm

Selasa, 01 Mei 2012

Latihan Soal UTS Pengantar Teknik Kompilasi

Universitas Gunadarma 2011/2012
  • Mata Kuliah   : Pengantar Teknik Kompilasi.
  • Dosen             : Irvan Wibowo
  • Fakultas         : Ilmu Komputer & Teknologi Informasi
  • Jurusan          : D3 Manajemen Informatika 


Bagi yang mau latihan soalnya, Silakan Download Disini !!!






Terimakasih, semoga bermanfaat.......
Salam UG!!!

Minggu, 29 April 2012

Rapuhnya Ketahanan Nasional

Tiga pilar utama ketahanan nasional yakni ketahanan pangan, ketahanan energi dan ketahanan militer mengalami kerapuhan cukup signifikan. Di bidang pangan misalnya, impornya terus meningkat baik volume maupun nilai, seperti impor beras, kedele, jagung bahkan garam. Tiap tahunnya tidak kurang dari 5,2 miliar dolar AS devisa yang dikuras untuk impor komoditas pangan tersebut.

Di bidang energi, Indonesia yang dulunya pendiri dan anggota negara-negara pengekspor minyak (OPEC), kini mengimpor minyak dalam jumlah dan harga yang juga terus meningkat. Apalagi kalau terjadi gejolak di negara produsen seperti situasi saat ini di Timur Tengah dan Afrika Utara.

Kerapuhan di bidang ketahanan energi juga ditandai dengan lemahnya manajemen energi mulai dari eksplorasi, eksploitasi, produksi sampai distribusi. Contohnya Riau, penghasil sekitar 60 persen minyak Indonesia dengan dua kilang bahan bakar minyak (BBM) di Dumai dan Sungai Pakning, mengalami kelangkaan BBM sejak pekan lalu. Kelangkaan BBM di Riau ini, ibarat ayam bertelur di lumbung padi yang mati kelaparan.

Sementara kerapuhan ketahanan di bidang militer ditandai dengan dominasi alat utama sistem senjata (alutsista) untuk kebutuhan TNI dan Polri yang juga masih diimpor. Sementara industri pertahanan pelat merah seperti PT. PAL, PT. Pindad dan PTDI mati suri karena kesulitan keuangan dan kalah bersaing dengan produk sejenis buatan luar negeri.

Sebenarnya kita beruntung mempunyai presiden dengan latar belakang pengetahuan yang mumpuni di bidang ketahanan pangan, ketahanan energi dan ketahanan militer. Sebagai doktor di bidang ekonomi pertanian dari IPB, tentunya Presiden Susilo Bambang Yudhoyono memahami problematika pertanian dan petani sebagai tokoh sentralnya.

Demikian pula sebagai mantan Menteri Pertambangan dan Energi, Presiden SBY memiliki kemampuan dan penguasaan masalah di bidang energi. Apalagi masalah militer, SBY yang lulusan terbaik AKABRI Darat tahun 1973 dan oleh pers asing dijuluki sebagai Jenderal Pemikir itu sangat memahani apa dan bagaimana ketahanan militer yang seharusnya dimiliki Indonesia.

Dengan kemampuan intelektual dan pengalaman yang luas di bidang ketahanan nasional, kita tidak meragukan semua kebijakan pemerintah di bawah kepemimpinan Presiden SBY untuk menciptakan ketahanan di bidang pangan, energi dan militer. Sayangnya dalam implementasinya kebijakan tersebut tidak terlaksana sebagaimana mestinya.

Di bidang energi misalnya, sejak Kabinet Indonesia Bersatu (KIB) Jilid I SBY sudah mengeluarkan berbagai kebijakan. Seperti Inpres No. 1/2006  tentang Penyediaan dan Pemanfaatan Bahan Baku Nabati Untuk Biofuel Sebagai Bahan Bakar, Perpres No.5/2006 tentang Kebijakan Energi Nasional dan Inpres No.2/2006 tentang Penyediaan dan Pemanfaatan Batu Bara Yang Dicairkan Sebagai Bahan Bakar Lain serta UU No.30/2007 tentang Energi.

Sementara untuk meningkatkan ketahanan nasional di bidang militer, Presiden SBY telah membentuk  Komite Kebijakan Industri Pertahanan (KKIP). Di bidang pangan, kebijakan terbaru adalah Inpres No.5/2011 yang menginstruksikan 15 menteri, BMKG, BPN, Kapolri, Gubernur, Bupati/Walikota seluruh Indonesia untuk melakukan respon cepat atas kondisi pangan nasional.

Sayangnya, berbagai kebijakan Presiden SBY tersebut kurang mendapat dukungan dari aparatur pemerintah, terutama di daerah. Sejak otonomi daerah diberlakukan, terkadang kebijakan pusat memang tidak sinergis dengan kepentingan Pemda.

Untuk mensinergiskan kebijakan pemerintah, baik antara instansi pemerintah di pusat, maupun antara pemerintah pusat dan Pemda, perlu perbaikan komunikasi. Demikian pula halnya untuk mensinergiskan kerjasama antara parpol pendukung SBY, juga perlu perbaikan komunikasi antara Presiden SBY sebagai ketua koalisasi dengan parpol-parpol anggota koalisi. 

Sumber : http://madina.co.id/index.php/kolom/tajuk/9122-rapuhnya-ketahanan-nasional.html

Jumat, 13 April 2012

Data Mahasiswa with Turbo Pascal

PROGRAM MENU_FILE;
USES CRT;
TYPE    MHS = RECORD
                        NAMA     : ARRAY [1..30] OF STRING [15];
                        ALAMAT : ARRAY [1..30] OF STRING [15];
                        KELAS     : ARRAY [1..30] OF STRING [5];
            END;
VAR    FILEMHS         : FILE OF MHS;
            RECORDMHS : ARRAY [1..50] OF MHS;
            PIL                : CHAR;
LABEL RETURN;
PROCEDURE INPUT_DATA;
    VAR N,I : INTEGER;
    BEGIN
        CLRSCR;
        ASSIGN(FILEMHS,'M_SISWA.DAT');
        REWRITE(FILEMHS);
        WRITE(' BANYAKNYA DATA : ');READLN(N);
        FOR I := 1 TO N DO
        BEGIN
            WITH RECORDMHS[I] DO
                BEGIN
                    WRITELN;
                    WRITELN(' DATA KE-',I);
                    WRITE(' NAMA MAHASISWA : ');READLN(NAMA[I]);
                    WRITE(' ALAMAT                      : ');READLN(ALAMAT[I]);
                    WRITE(' KELAS                          : ');READLN(KELAS[I]);
                END;
            WRITE(FILEMHS,RECORDMHS[I]);
        END;
        CLOSE(FILEMHS);
    END;
PROCEDURE ADD_DATA;
    VAR N,I,X : INTEGER;
    BEGIN
        CLRSCR;
        ASSIGN(FILEMHS,'M_SISWA.DAT');
        RESET(FILEMHS);
    N := FILESIZE(FILEMHS);
        IF IORESULT <> 0 THEN REWRITE(FILEMHS);
        SEEK(FILEMHS,N);
        WRITE(' BANYAKNYA DATA TAMBAHAN = ');READLN(X);
        FOR I := 1 TO X DO
        BEGIN
            WRITELN;
            WRITELN(' BANYAKNYA DATA = ',N);
            N := N + 1;
            WITH RECORDMHS[N] DO
            BEGIN
                WRITELN;
                WRITELN(' DATA KE-',N);
                WRITE(' NAMA MAHASISWA : ');READLN(NAMA[N]);
                WRITE(' ALAMAT         : ');READLN(ALAMAT[N]);
                WRITE(' KELAS          : ');READLN(KELAS[N]);
            END;
            WRITE(FILEMHS,RECORDMHS[N]);
        END;
        CLOSE(FILEMHS);
    END;
PROCEDURE EDIT_DATA;
    VAR    FOUND : BOOLEAN;
            MORE    : CHAR;
            NAME    : STRING[15];
            N,I   : INTEGER;
    BEGIN
        CLRSCR;
        ASSIGN(FILEMHS,'M_SISWA.DAT');
        RESET(FILEMHS);
        N := FILESIZE(FILEMHS);
        MORE := 'Y';
        WHILE UPCASE(MORE) = 'Y' DO
        BEGIN
            FOUND := FALSE;
            WRITE(' NAMA MAHASISWA YANG MAU DI-EDIT DATANYA : ');READLN(NAME);
            FOR I := 1 TO N DO
            BEGIN
                SEEK(FILEMHS,I-1);
                READ(FILEMHS,RECORDMHS[I]);
                IF RECORDMHS[I].NAMA[I] = NAME THEN
                BEGIN
                    FOUND := TRUE;
                    WITH RECORDMHS[I] DO
                    BEGIN
                        WRITELN;
                        WRITELN(' DATA YANG AKAN DIKOREKSI');
                        WRITELN(' NAMA MAHASISWA : ',NAMA[I]);
                        WRITELN(' ALAMAT                      : ',ALAMAT[I]);
                        WRITELN(' KELAS                          : ',KELAS[I]);
                        WRITELN;
                        WRITELN(' DATA KOREKSI');
                        WRITE(' NAMA MAHASISWA : ');READLN(NAMA[I]);
                        WRITE(' ALAMAT                      : ');READLN(ALAMAT[I]);
                        WRITE(' KELAS                          : ');READLN(KELAS[I]);
                        WRITELN;
                    END;
                END;
                SEEK(FILEMHS,I-1);
                WRITE(FILEMHS,RECORDMHS[I]);
            END;
            IF NOT FOUND THEN
            WRITELN(CHAR(7),' DATA TIDAK ADA');
            WRITE(' EDIT DATA LAGI (Y/T) ? ');READLN(MORE);
            WRITELN;
        END;
        CLOSE(FILEMHS);
    END;
PROCEDURE LINES;
    VAR I : INTEGER;
    BEGIN
        FOR I := 1 TO 43 DO
        WRITE('-');
    END;
PROCEDURE VIEW_DATA;
    VAR N,I : INTEGER;
    BEGIN
        CLRSCR;
        ASSIGN(FILEMHS,'M_SISWA.DAT');
        RESET(FILEMHS);
        WHILE NOT EOF(FILEMHS) DO
        BEGIN
            N := FILESIZE(FILEMHS);
            FOR I := 1 TO N DO
            BEGIN
                READ(FILEMHS,RECORDMHS[I]);
                WITH RECORDMHS[I] DO
                BEGIN
                    GOTOXY (35,2);WRITELN('DATA MAHASISWA');
                    GOTOXY (20,4);LINES;
                    GOTOXY (21,5);WRITELN('NO       NAMA           ALAMAT      KELAS');
                    GOTOXY (20,6);LINES;
                    GOTOXY (21,6+I);WRITE(I:2);
                    GOTOXY (25,6+I);WRITE(NAMA[I]);
                    GOTOXY (41,6+I);WRITE(ALAMAT[I]);
                    GOTOXY (57,6+I);WRITELN(KELAS[I]);
                END;
            END;
            GOTOXY (20,7+I);LINES;
        END;
        CLOSE(FILEMHS);
        READLN;
    END;

BEGIN
    REPEAT
        RETURN :
            CLRSCR;
            GOTOXY (28,3);WRITELN('<<< MENU FILE >>>');
            GOTOXY (23,5);WRITELN('1. FILE BARU DAN INPUT DATA');
            GOTOXY (23,6);WRITELN('2. TAMBAH DATA');
            GOTOXY (23,7);WRITELN('3. KOREKSI DATA BERDASAR NAMA');
            GOTOXY (23,8);WRITELN('4. TAMPILKAN DATA');
            GOTOXY (23,9);WRITELN('5. SELESAI');
            GOTOXY (23,11);WRITE('PILIHAN ANDA : ');READLN(PIL);
            IF NOT (PIL IN ['1'..'5']) THEN
            BEGIN
                WRITELN(CHAR(7));
                GOTOXY (23,13);WRITELN('PILIH YANG BENER DONG !!!');
                READLN;
                GOTO RETURN;
            END;
            CASE PIL OF
                '1' : INPUT_DATA;
                '2' : ADD_DATA;
                '3' : EDIT_DATA;
                '4' : VIEW_DATA;
            END;
    UNTIL PIL = '5';
END.

Selasa, 03 April 2012

STACK (TUMPUKAN)

LINIER LIST
Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah.
Linier list A yang terdiri dari T elemen pada waktu t, dinotasikan sebagai : A = [ A1, A2, ..., AT]           
Jika T = 0, maka A disebut “Empty List” atau “Null List”
Suatu elemen dapat dihilangkan/dihapus dari sembarang posisi dalam linier list, dan dapat pula dimasukkan elemen baru sebagai anggota list.
Contoh :
1. File, dengan elemennya berupa record
2. Buku telepon
3. Stack
4. Queue
5. Linear link list

STACK
Stack adalah suatu bentuk khusus dari linier list, dengan operasi penyisipan dan penghapusan dibatasi hanya pada satu sisinya, yaitu puncak stack (TOP).

Elemen teratas dari stack dinotasikan sebagai TOP(S).
Untuk stack S, dengan S = [S1, S2, S3, ..., ST]
maka TOP(S) = ST

Jumlah elemen di dalam stack kita notasikan dengan NOEL(S).
NOEL(S) menghasilkan nilai integer.
Untuk stack S = [S1, S2, S3, ..., ST] maka NOEL (S) = T.

Operator penyisipan (insertion) : PUSH
Operator penghapusan (deletion) : POP
Operasi stack : LIFO (Last In First Out), yaitu : yang terakhir masuk yang pertama keluar.

Jika ada NOEL elemen didalam stack, maka elemen ke NOEL merupakan elemen puncak (TOP).

Stack secara umum :
S = [S1, S2, ..., SNOEL]
bahwa : SI berada di atas elemen SJ, untuk I > J
SI akan dikeluarkan lebih dulu dari elemen di bawahnya.

Contoh stack : Tumpukan baki dalam cafetaria
Empat operasi dasar yang berlaku pada stack :
1. CREATE(stack)
2. ISEMPTY(stack)
3. PUSH(elemen, stack)
4. POP(stack)

·         CREATE
adalah operator yang menunjukkan suatu stack kosong dengan nama S.

Jadi :     NOEL(CREATE(S)) = 0

              TOP(CREATE(S)) adalah TIDAK TERDEFINISI.

·         ISEMPTY
adalah operator yang menentukan apakah stack S kosong.
Operandnya terdiri dari type data stack. Hasilnya merupakan type data Boolean.
ISEMPTY(S) = True. Jika S hampa, yakni bila NOEL(S) = 0.

·         PUSH
adalah operator yang menambahkan elemen E pada puncak stack S. Hasilnya merupakan stack yang lebih besar.
PUSH(E,S). E ditempatkan sebagai TOP(S).

·         POP(stack)
adalah operator yang menghapus sebuah elemen dari puncak stack S. Hasilnya merupakan stack yang lebih kecil.
·         POP(S)  mengurangi NOEL(S)
·         POP(CREATE(S))   ®  kondisi error
·         POP(PUSH(E,S)) = S

DEKLARASI STACK DALAM COBOL DAN PASCAL

TOP-PTR
 
® 100                   S                Keterangan :
                   ·  
                  ·                STACK S
                  ·       TOP-PTR : subskrip dari elemen TOP(S) dari stack.
         1         
 

COBOL

01     STACK-STRUCT   ® kombinasi dari array dan indikator untuk TOP
         02        S OCCURS 100 TIMES PIC 9(5)
         02        TOP-PTR                       PIC 9(3)

 

PASCAL

TYPE STACKSTRUCT   =               RECORD
                                                            STACK : ARRAY [1..100] of integer;
                                                            TOPPTR : integer;
                                                            END;

VAR  S :  STACKSTRUCT;
NOEL(S) = TOP-PTR, ISEMPTY(S) = true, bila TOP-PTR = 0.

OPERASI PUSH & POP

PUSH

         IF TOP-PTR < NOEL-MAX
                     THEN COMPUTE TOP-PTR = TOP-PTR + 1
                                   MOVE EON  TO S(TOP-PTR)
                     ELSE Overflow condition

POP
         IF TOP-PTR > 0
                     THEN MOVE S(TOP-PTR) TO EOFF
                                   COMPUTE TOP-PTR = TOP-PTR  -  1
                     ELSE Underflow condition

EON : elemen yang di PUSH ke dalam S.
EOFF : elemen yang di POP ke luar S.
NOEL-MAX : panjang max stack.

 

PUSH

         Procedure PUSH (eon: integer);
         Begin
               if (s.topptr < noelmax)
               then
                        Begin
                              s.topptr := s.topptr + 1;
                              s.stack [s.topptr] := eon;
                        End;
               else Overflow-condition
         End;

POP

         Procedure POP (var eoff : integer);
         Begin
               if (s.topptr > 0)
               then
                        Begin
                              eoff := s.stack [s.topptr];
                              s.topptr := s.topptr - 1;
                        End;
               else Underflow Condition
         End;

APLIKASI STACK
 1.      Penjodohan Tanda Kurung/Matching Parantheses
         ALGORITMA
         a.   Amati barisan elemen dari kiri ke kanan
         b.   ·    bila bertemu ‘(‘, maka ‘(‘ di push ke dalam stack.
               ·    bila bertemu ‘)’, maka periksa stack hampa atau tidak.
                     bila hampa ® ada ‘)’ dan tidak ada ‘(‘ (error)
bila tidak hampa ® ada sepasang ‘(‘ & ‘)’ & POP elemen     keluar
 2.      NOTASI POSTFIX
         ALGORITMA
         Amati barisan dari kiri ke kanan
         1.   Jika ‘(‘, maka PUSH ke dalam stack.
         2.   Jika ‘)’, POP elemen dalam stack sampai simbol ‘(‘. Semua di POP merupakan  output kecuali ‘(‘ tadi.
         3.   Jika simbol operand, langsung merupakan output.
         4.   Jika simbol operator, maka :
Jika elemen TOP stack dengan level >= maka POP sebagai output teruskan sampai ‘(‘.
elemen TOP <, operator yang diamati di PUSH ke dalam stack.
         5.   Bila ‘;’ kita POP semua elemen dalam stack hingga hampa.

APLIKASI STACK
Notasi Postfix
Contoh :
Notasi Infix : ((A+B) * C/D+E^F)/G;

Simbol yang diamati
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
(
(
A
+
B
)
*
C
/
D
+
E
^
F
)
/
G
;
TOP dari
STACK


(

(
(

(
(
+
(
(
+
(
(


(

*
(

*
(

/
(

/
(

+
(

+
(
^
+
(
^
+
(



/


/

OUTPUT


A

B
+

C
*
D
/
E

F
^+

G
/

Soal :
1.      A * B - (C + D) -(E - F) + F/H ^ I;
2.      ((B * C) + C/D ^ F) + G;
3.      A ^ B * C - D + E/F / (G + H);


Sumber : 
http://oktaviani.staff.gunadarma.ac.id/Downloads