Archive for March, 2010


uses wincrt;

type
recBuku=record
judul:string[20];
kode:string[10];
pengarang:string[20];
ed:string[4];
tahun:integer;
penerbit:string[20];
end;
var
a:array[1..200] of recBuku;
tempjudul,temppeng,temppnb:string[20];
tempkod:string[10];
temped:string[4];
tempth,i,j:integer;

begin
writeln(‘+++++++++++++++++ Input Data Buku ++++++++++++++++’);
writeln(‘—————————————————————–’);
for i:=1 to 200 do
begin
write(‘Judul Buku : ‘);readln(a[i].judul);
write(‘Kode Buku : ‘);readln(a[i].kode);
write(‘Pengarang : ‘);readln(a[i].pengarang);
write(‘Edisi : ‘);readln(a[i].ed);
write(‘Tahun terbit : ‘);readln(a[i].tahun);
write(‘Penerbit : ‘);readln(a[i].penerbit);
writeln;
end;
for i:=1 to 200 do
begin
for j:=1 to 200 do
begin
if a[j].judul > a[i].judul then
begin
tempjudul:=a[j].judul;
a[j].judul:=a[i].judul;
a[i].judul:=tempjudul;
tempkod:=a[j].kode;
a[j].kode:=a[i].kode;
a[i].kode:=tempkod;
temppeng:=a[j].pengarang;
a[j].pengarang:=a[i].pengarang;
a[i].pengarang:=temppeng;
temped:=a[j].ed;
a[j].ed:=a[i].ed;
a[i].ed:=temped;
tempth:=a[j].tahun;
a[j].tahun:=a[i].tahun;
a[i].tahun:=tempth;
temppnb:=a[j].penerbit;
a[j].penerbit:=a[i].penerbit;
a[i].penerbit:=temppnb;
end;
end;
end;
clrscr;
writeln;
writeln(‘+++++++++++++++++ Output Data Buku +++++++++++++++++++’);
writeln;
writeln(‘———————————————————————–’);
writeln(‘| No | Judul | Kode | Pengarang | Edisi | Tahun | Penerbit |’);
writeln(‘———————————————————————–’);
writeln;
for i:=1 to 200 do
begin
writeln(i,’ ‘,a[i].judul:3,’ ‘,a[i].kode:3,’ ‘,a[i].pengarang:3,’ ‘,a[i].ed:3,’ ‘,a[i].tahun:3,’ ‘,a[i].penerbit:3);
end;
readln;
end.

Pada program diatas deklarasi untuk proses sorting data ditunjukkan pada :

for i:=1 to 200 do
begin
for j:=1 to 200 do
begin
if a[j].judul > a[i].judul then
begin
tempjudul:=a[j].judul;
a[j].judul:=a[i].judul;
a[i].judul:=tempjudul;

a[j].penerbit:=a[i].penerbit;
a[i].penerbit:=temppnb;
end;
end;
end;

yang akan memproses data secara ascending berdasarkan judul buku yang telah diinputkan pengguna. Demikian semoga bisa membantu kita semua.

Bila decision making dan planning merupakan fungsi dari manajemen, maka begitu jualah peranan pengambilan keputusan stratejik dan perencanaan stratejik kepada manajemen stratejik. Pertama, manajemen stratejik bertugas membuat keputusan stratejik yang menggolkan ketetapan tujuan dan sasaran. Kemudian manajemen stratejik pun menetapkan apa yang sebaiknya dilakukan untuk masa mendatang. Dan lantas menentukan siapa-siapa yang melakukannya serta bagaimana tindakannya. Setelah itu manajemen stratejik meninjau, menggerakkan aktifitas operasional total pihak-pihak yang bertanggung jawab, yang terlibat dalam pencapaian tujuan dan sasaran. Singkatnya, manajemen stratejik berfungsi membuat keputusan stratejik, menyusun planning stratejik, serta berfungsi juga untuk peninjauan atau evaluasi stratejik.

Manajemen strategi sering dipandang sebagai suatu skenario atau “game plan” untuk mengembangkan usaha, mempertahankan atau memperbaiki posisi pasar, menarik dan memuaskan konsumen, sukses berkompetisi dengan pesaing, menjalankan operasi bisnis dan mencapai sasaran-sasaran strategis. Para manajer menjalankan manajemen strategi sebagai proses merumuskan dan mengimplementasikan strategi dalam upaya menyediakan nilai bagi konsumen untuk mewujudkan visi dan misi perusahaan.

Sehingga baru-baru ini manajemen strategi telah mengalami peralihan dari perencanaan menjadi keunggulan bersaing. Pembuatan strategi lebih didasarkan pada konsep keunggulan bersaing yang memiliki lima karakteristik, yaitu:

a. Kompetensi khusus

Keunggulan bersaing merupakan hal khusus yang dimiliki atau dilakukan suatu organisasi yang memberinya kekuatan untuk menghadapi pesaing. Kompetensi ini bisa berwujud opini atau merek yang mempunyai persepsi kualitas tinggi. ( misalnya; opini: Pengelolaan administrasi yang rapi, terkenal bersih atau bebas KKN/Korupsi Kolusi Nepotisme, Tepat waktu. Merek: Coca cola, IBM, BMW, Mc Donald’s).

b. Menciptakan persaingan tidak sempurna

Dalam persaingan sempurna semua organisasi menghasilkan produk yang serupa sehingga bebas keluar masuk ke dalam pasar. Suatu organisasi dapat memperoleh keunggulan bersaing dengan menciptakan persaingan tidak sempurna yaitu dengan cara memberikan kualitas yang tinggi di aspek-aspek tertentu.

c. Berkesinambungan

Keunggulan bersaing harus bersifat berkesinambungan bukan sementara dan tidak mudah ditiru oleh para pesaing.

d. Kesesuaian dengan lingkungan internal

Keunggulan bersaing dapat diraih dengan menyesuaikan kebutuhan atau permintaan pasar. Karena lingkungan eksternal bisa berupa ancaman dan peluang, sehingga perubahan pasar dapat meningkatkan keunggulan atau kelemahan suatu organisasi.

e. Keuntungan yang tinggi daripada keuntungan rata-rata

Sasaran utama keunggulan bersaing adalah mendapatkan keuntungan yang lebih tinggi daripada keuntungan rata-rata orrganisasi-organisasi lainnya

Menurut G.R. Terry manajemen adalah suatu proses atau kerangka kerja, yang melibatkan bimbingan atau pengarahan suatu kelompok orang-orang kearah tujuan-tujuan organisasional atau maksud-maksud yang nyata. Dalam sebuah organisasi, manajer memiliki peran yang sangat penting terutama ketika organisasi sedang mengalami masalah dan diperlukan sebuah strategi untuk menangani hal tersebut, strategi tersebut biasa disebut manajemen strategi.

Dengan menggunakan manajemen strategik sebagai suatu kerangka kerja (frame work) untuk menyelesaikan setiap masalah strategis di dalam organisasi terutama berkaitan dengan persaingan, maka peran manajer diajak untuk berpikir lebih kreatif atau berpikir secara strategik.

Pemecahan masalah dengan menghasilkan dan Mempertimbangkan lebih banyak alternatif yang dibangun dari suatu analisa yang lebih teliti akan lebih menjanjikan suatu hasil yang menguntungkan.
Ada bebarapa manfaat yang diperoleh organisasi jika mereka menerapkan manajemen strategik, yaitu:
1. Memberikan arah jangka panjang yang akan dituju.
2. Membantu organisasi beradaptasi pada perubahan-perubahan yang terjadi.
3. Membuat suatu organisasi menjadi lebih efektif
4. Mengidentifikasikan keunggulan komparatif suatu organisasi dalam lingkungan yang semakin beresiko.
5. Aktifitas pembuatan strategi akan mempertinggi kemampuan perusahaan untuk mencegah munculnya masalah di masa datang.
6. Keterlibatan anggota organisasi dalam pembuatan strategi akan lebih memotivasi mereka pada tahap pelaksanaannya.
7. Aktifitas yang tumpang tindih akan dikurangi
8. Keengganan untuk berubah dari karyawan lama dapat dikurangi

Tahap tahap analisis data

Tahap analisis data dalam tahapan pekerjaan analisis adalah proses mengidentifikasi, elemen demi elemen, kebutuhan data suatu fungsi. Setiap elemen data ditentukan dari sisi bisnis, diidentifikasi siapa yang memilikinya, diidentifikasi juga pengguna datanya, dan diidentifikasi juga sumber dari data tersebut (melakukan olah data)

Elemen-elemen data ini kemudian dikelompokkan menjadi sebuah record dan suatu struktur data dibuat untuk menunjukkan ketergantungan data.

Melakukan proses/olah data dengan melakukan analisis data memfokuskan kepada 2 aspek, yaitu data yang saat ini digunakan dan data yang akan atau mungkin dibutuhkan pada masa mendatang.

Data statistik atau data lainnya terkini kemudian dianalisis lebih lanjut untuk memastikan jika data diperoleh dari sumber yang tepat, waktu yang tepat, dan tingkat detail yang benar. Analisis data (misal data statistik) terkini juga mencoba menentukan, baik definisi data bisnis yang benar dari data yang digunakan dan memastikan semua pengguna data yang sama mendefinisikannya dan melihatnya dengan cara yang sama.

Untuk melakukan analisis statistik data kita dapat memperoleh dari:

* analisis event
* analisis transaksi
* analisis dokumen dan formulir
* analisis laporan

su-isu yang berkembang dan mempengaruhi pemilihan representasi penyimpanan meliputi pemilihan komponen dari sebuah struktur data menjadi makin efisien dan kemungkinan untuk mencapai efisiensi secara keseluruhan pada pengelolaan penyimpanan. Dua bentuk representasi penyimpanan untuk struktur data adalah :
1. Representasi berurutan (sequential representation)
Struktur data disimpan dalam sebuah blok berurutan yang mencakup descriptor dan komponen-komponennya.

2. Representasi terhubung(linked representation)
Struktur data disimpan pada beberapa blok penyimpanan di tempat yang berbeda-beda dalam memori. Blok-blok tersebut dihubungkan/disambung dengan pointer-pointer. Sebuah pointer dari blok A ke blok B dinyatakan dengan menyimpan alamat blok B, pada suatu lokasi yang disediakan dalam blok A. Sebuah pointer(penunjuk) diantara dua blok memori disebut penghubung(link).

Memori komputer dapat kita bayangkan terdiri atas barisan atau untai sel-sel (masingmasing sel berisi satu binary digit atau bit) dengan alamatnya sekaligus. Setiap untai dirangkai dari sejumlah bit yang ditentukan jumlahnya dalam satu untai oleh model komputer tertentu.

Struktur data terdiri dari satuan data sederhana yang cocok untuk program yang memakainya. Hubungan antara satuan data tersebut membentuk salah satu ciri dari struktur yang bersangkutan. Jika sebuah struktur data langsung tersedia dalam bahasa pemrograman (misalnya array terdapat di dalam FORTRAN), maka struktur data tersebut langsung dapat dipakai. Jika struktur tersebut tidak tersedia, maka pemrogram harus membuatnya terlebih dahulu dari tipe data yang tersedia. Berhubung struktur data tersebut harus dimasukkan ke dalam memori berupa untai bit, maka setiap struktur diberi ciri oleh organisasi logikal (perlu ada hubungan antar komponen sewaktu diaplikasikan), dan oleh organisasi fisikal (penempatan dalam memori).

Jika satuan data sederhana dapat membentuk sebuah struktur yang lebih hemat dalam memori, maka struktur data tersebut disatukan: beberapa satuan data ditempatkan sebagai satu untai. Struktur tersebut tidak dapat langsung ditujukan kepada sebuah alamat (yang bisa hanyalah sebuah untai atau byte); untuk itu haruslah diusahakan melalui proses pemrograman.

Jika menggunakan penyajian secara sekuensial, maka komponen struktur data ditempatkan ke dalam lokasi memori secara berurutan. Hubungan antara komponen komponen tersebut tidak nampak dari proses mereka.

Contoh 1.3

Sebuah himpunan data logikal (masing-masing sepanjang 1 bit) dapat dijadikan untai 16 bit memakai 16 elemen himpunan ke dalam satu untai. Dua cara utama untuk menempatkan memori terdapat di dalam struktur tingkat tinggi seperti daftar.

Cara lain adalah penyajian secara berkait, atau linked. Di sini setiap komponen dari struktur data dilengkapi dengan satu atau beberapa satuan data tambahan, yang dipergunakan untuk melakukan hubungannya dengan komponen yang ada di sekelilingnya. Satuan data tambahan seperti itu disebut pointer atau link atau penuding yang berisikan alamat memori dari satuan data lain di dalam struktur data. Dengan adanya pointer tersebut, akan terjalin relasi antar komponen dalam struktur data tersebut

Penyajian data secara sekuensial bersifat sangat kaku. Hal ini disebabkan karena untuk menghapus komponen dari struktur dan menyisipkan komponen ke dalamnya, hanya dapat dilakukan melalui reorganisasi fisik dari struktur di dalam memori. Oleh karena itu, ia baru dapat diaplikasikan dengan baik apabila komposisi dari struktur tersebut tidak banyak berubah selama pelaksanaan program yang bersangkutan.

Penyajian dengan cara berkait (linked) bersifat lebih fleksibel, karena untuk mengadakan perubahan struktural, kita cukup melakukan perubahan beberapa pointer saja. Oleh sebab itu, penyajian berkait ini cocok bagi struktur data yang dinamis. Tingkat keluwesan tersebut terdapat dalam ruang memori dan waktu yang dibutuhkan, guna mengarahkan pointer yang bersangkutan, yang juga merupakan elemen struktural.

Jika kita memakai sistem penyajian berkait, maka jumlah memori yang tersedia bagi struktur data, dibagi menjadi dua bagian. Satu bagian menampung struktur yang ada tersebut, sedangkan bagian yang lain (disebut ruang yang tersedia), merupakan tempat cadangan, untuk menampung komponen yang masih ”kosong.” Jika diperlukan sebuah ruang untuk menempatkan komponen baru, maka akan diambilkan dari ruang cadangan tersebut.

Jika suatu komponen tidak dibutuhkan lagi, maka ruang dikembalikan kepada tempat cadangan yang bersangkutan. Ada kalanya juga terjadi bahwa komponen yang tidak dibutuhkan lagi dikumpulkan secara periodik untuk dikembalikan ke tempat cadangan.

PT Angin Ribut memerlukan sebuah aplikasi inventory yang dapat dijalankan secara multi-user. Dari 10 orang programer yang mengajukan diri, Anda lah yang terpilih untuk membuat aplikasi tersebut. Setelah mentraktir teman-teman Anda untuk merayakan hari bersejarah tersebut, Anda duduk di depan komputer dan bertanya, mulai dari mana ya?

Bagi Anda yang baru pertama kali membuat program untuk sebuah perusahaan, tentunya situasi yang Anda hadapi saat ini berbeda dibandingkan membuat program untuk tugas kuliah atau skripsi. Perbedaannya tidak semata-mata dari kompleksitas, tetapi lebih merujuk pada tanggung-jawab dan bagaimana memberikan aplikasi yang baik untuk perusahaan.

Hal pertama yang perlu diingat, sebuah perusahaan seharusnya memiliki jaringan komputer yang berpotensi menjadi semakin besar dan luas, sehingga aplikasi untuk perusahaan dapat berkembang menjadi besar baik dalam kaitannya dengan pengguna atau kode program.

Aplikasi yang dibuat untuk perusahaan mutlak harus stabil dan dapat menangani dengan baik kesalahan yang mungkin terjadi, mengingat operasi bisnis perusahaan tergantung pada aplikasi tersebut.

Client Server

Kita akan membahas client server yang tentunya harus Anda pertimbangkan untuk membuat aplikasi perusahaan. Pada model client server umumnya, client akan melakukan request langsung kepada server. Client bertanggung jawab menangani input dari pengguna, sementara server bertanggung jawab menangani permintaan operasi database.

Aplikasi client server tidak selalu harus merujuk pada dua komputer dimana satu komputer berlaku sebagai server dan komputer lainnya sebagai client. Anda dapat melakukan development dengan menggunakan satu komputer.

Kenyataannya, hanya dengan melakukan pemrograman untuk satu komponen object yang memanggil object yang lain, sudah menggambarkan satu contoh dari teknologi client server.

Perancangan aplikasi client server harus mempertimbangkan hal-hal sebagai berikut:

1. Banyaknya client didalam sistem.
2. Apakah sistem menggunakan lebih dari satu DBMS.
3. Kebutuhan update aplikasi di masa mendatang.

Terdapat dua pendekatan arsitektur aplikasi client server, yaitu two-tier (2-tier) dan n-tier.

Two-tier

Tier dapat diartikan sebagai tingkatan. Konsep tier menjelaskan arsitektur aplikasi secara logical ketimbang secara physical. Arsitektur two-tier menerangkan aplikasi yang dirancang digunakan oleh satu atau lebih client yang terkoneksi pada server database.

Contoh two-tier yang paling sederhana adalah saat seluruh client yang terkoneksi menjalankan aplikasi yang sama dan mengakses satu database.

Secara sederhana, konsep two-tier dapat digambarkan sebagai berikut.

Pada two-tier konvensional, aplikasi pada sisi client umumnya menangani beberapa business logic. Contoh business logic dari sebuah aplikasi client server yaitu sekumpulan komponen object yang memiliki fungsi tertentu. Pada lingkungan jaringan, business logic ini menempati dan dijalankan pada masing-masing komputer client.

Dari penjelasan diatas, aplikasi dengan arsitektur two-tier seperti digambarkan diatas bisa jadi cukup sederhana untuk diterapkan, tetapi dapat menjadi masalah yang cukup sulit dan memakan waktu, biaya dan tenaga jika tiba saatnya untuk melakukan update aplikasi. Mengapa demikian?

Karena penerapan business logic pada two-tier yang digambarkan diatas harus dijalankan pada masing-masing komputer client, sehingga jika dilakukan update aplikasi, maka pada seluruh komputer client yang terkait harus dilakukan proses update.

Anda dapat menghindari permasalahan ini dengan melakukan sentralisasi business logic pada server. Teknologi DBMS seperti pada Microsoft SQL Server menyediakan fasilitas stored procedure untuk menyimpan business logic.

Dengan demikian, masing-masing client tidak lagi melakukan proses business logic pada dirinya, tetapi memanggil stored procedure untuk melakukan business logic, kemudian business logic akan menjalankan operasi database yang diminta.

Dengan cara ini, saat Anda ingin melakukan update business logic, cukup dengan melakukan update pada stored procedure yang terletak pada server database, maka perubahan business logic telah berlaku secara keseluruhan sistem.

Perubahan business logic ini berlaku transparan pada client, dalam artian client hanya perlu mengetahui nama dari procedure yang ada, tidak perlu merisaukan kode program yang terdapat pada procedure tersebut.

Solusi ini cukup menenangkan dan menghindari Anda dari kerja lembur selama dua malam untuk mengupdate seluruh komputer client pada sistem, yang mana Anda harus melakukannya setelah jam pulang kantor pada saat tidak ada lagi yang menggunakan komputer, selain Anda tentunya.

N-tier

Stored procedure ternyata tidak mencukupi untuk sistem dimana database disimpan pada lebih dari satu server, karena bisa jadi terdapat client yang tidak dapat mengakses procedure tersebut. Mungkin Anda bertanya, apa perlunya menyimpan database lebih dari satu server?

Tentu saja Anda juga menginginkan perusahaan yang menggunakan aplikasi Anda dapat berkembang, bukan? Penggunaan lebih dari satu database sangat memungkinkan saat sebuah perusahaan telah memiliki divisi yang cukup besar dimana harus memiliki database tersendiri.

Dalam kasus penggunaan lebih dari satu server database, Anda perlu mengimplementasikan strategi development yang berbeda, pendekatan yang baik adalah dengan menggunakan model n-tier.

Huruf “n” pada n-tier menunjukkan variabel numerik yang dapat berisi angka sebanyak apapun, misalnya 3-tier, 4-tier dan seterusnya. Karena itu sebuah aplikasi n-tier memiliki 3 atau lebih tingkatan logical, umumnya aplikasi n-tier saat ini menggunakan 3-tier.

Untuk menggambarkannya, Anda dapat membayangkan skema disain aplikasi two-tier yang mengimplementasikan business logic pada stored procedure seperti yang telah diterangkan diatas, kemudian melakukan improvisasi disain dengan menambahkan sebuah tingkatan (tier) sebagai middle tier sebagai business object, arsitektur inilah yang dikenal dengan 3-tier.

Perbedaan nyata dengan 2-tier adalah, business object pada 3-tier terpisah dari aplikasi client dan elemen database. Sehingga dapat digambarkan bahwa sistem 3-tier secara umum terbentuk dari tingkatan client, business dan database.

Untuk membayangkan penerapan 3-tier dalam kehidupan sehari-hari yang mungkin paling sering Anda temui adalah penerapan Internet ataupun Intranet.

Pada aplikasi Internet/Intranet, terdapat client yang menjalankan browser dan meminta informasi dari middle-tier yang berupa HTTP Server. Middle-tier akan meminta data pada server database, kemudian mengirimkannya kembali kepada HTTP Server. HTTP Server akan mengirimkan kepada browser dalam bentuk page/halaman web.

Diagramnya terlihat seperti dibawah ini:

Sebuah sistem 3-tier menyediakan support multi-user yang stabil, bahkan saat pada client menjalankan aplikasi yang berbeda, juga dapat mendayagunakan beberapa database yang digunakan secara bersamaan.

Dalam pembahasan berikut ini, akan dijelaskan contoh kasus penerapan 3-tier. Bayangkan sebuah sistem 3-tier, yang terdiri dari client, business dan database. Sistem tersebut harus melakukan kalkulasi gaji karyawan berdasarkan pajak dan peraturan lainnya yang dapat berubah dari tahun ke tahun.

Pada tahun ini, terdapat perubahan peraturan pajak yang harus diterapkan pada sistem, pada tingkatan mana Anda harus melakukan update? Anda hanya perlu melakukan update pada tingkatan business object, yang ada karena arsitektur 3-tier ini.

Satu hal yang harus terus diingat sebagai konsep dasar, bahwa pengertian arsitektur 2-tier maupun 3-tier adalah secara logical dan bukan secara physical. Sehingga pada sebuah sistem kecil Anda dapat menjalankan business logic dan database pada komputer yang sama.

Tetapi pada sistem yang besar, Anda mungkin memerlukan beberapa komputer untuk menjalankan baik tingkatan business ataupun database.

Keuntungan Dan Kerugian n-tier

Diantara keuntungan-keuntungan yang dapat diperoleh dari arsitektur n-tier (atau 3-tier pada umumnya), yang terutama adalah:

1. Kemudahan perubahan business logic di masa yang akan datang.
2. Business logic yang mudah diimplementasi dan dipelihara.
3. Aplikasi client dapat mengakses berbagai tipe DBMS yang berbeda-beda secara transparan.

Apakah terdapat kerugian n-tier? Mungkin lebih tepat dikatakan sebagai konsekuensinya, yaitu sistem n-tier relatif mahal untuk development dan instalasinya.

Hal ini dikarenakan perencanaan software pada 3-tier bisa jadi sangat kompleks. Bahkan pada awal tahap perencanaan, Anda telah harus mempertimbangkan potensi pengembangan perusahaan pada masa yang akan datang.

Kompleksitas dalam hal ini meliputi seluruh aspek, baik infrastruktur maupun pembuatan software secara keseluruhan. Sementara dalam suatu perusahaan, semakin besar perubahan sistem yang dilakukan, maka akan semakin memerlukan adaptasi yang semakin luas ruang lingkupnya. Karena itu secara otomatis memerlukan rentang waktu relatif lebih lama.

Terutama jika sistem 3-tier tersebut akan menggantikan sistem yang telah lama digunakan, terdapat cukup banyak tantangan untuk sosialisasi sistem yang baru. Dalam hal ini, interaksi dan komunikasi dengan pengguna sistem secara keseluruhan sangat diperlukan.

Karena itu terdapat dua sisi yang harus Anda temukan titik imbangnya, antara keuntungan-keuntungan yang dapat diraih oleh arsitektur aplikasi n-tier berbanding dengan biaya, tenaga dan waktu yang diperlukan untuk development dan implementasinya.

Keuntungan Dan Kerugian 2-tier

Karena berbagai faktor, jika konsekuensi arsitektur aplikasi n-tier masih terlalu besar dibandingkan dengan keuntungan-keuntungannya, maka Anda dapat mempertimbangkan arsitektur aplikasi 2-tier.

Berlawanan dengan n-tier, sistem 2-tier relatif lebih sederhana untuk didevelop dan diimplementasikan, dibandingkan dengan sistem 3-tier. Sehingga untuk kasus-kasus tertentu, contohnya untuk bisnis kecil, sistem 2-tier lebih cocok untuk diterapkan.

Teknologi Pendukung

Konsep arsitektur tanpa teknologi pendukung tidak akan dapat diterapkan. Termasuk dalam arsitektur 2-tier dan n-tier. Beberapa contoh teknologi yang umum dipergunakan untuk mendukung 2-ter dan n-tier:

1. Component Object.

Umumnya merupakan model object oriented dimana dapat dipergunakan oleh aplikasi yang berbeda dan penggunaan ulang komponen. Contohnya adalah COM/DCOM. Aplikasi yang ditulis dengan bahasa pemrograman yang berbeda dapat saling berkomunikasi dengan menggunakan Component Object.

Component Object itu sendiri dapat ditulis dengan bahasa pemrograman yang berbeda-beda. Pada prinsipnya komponen tersebut terdiri dari class yang memiliki sekumpulan method.

2. Microsoft Transaction Server.

MTS atau Microsoft Transaction Server merupakan software yang dikembangkan oleh Microsoft untuk keperluan monitoring transaksi pada aplikasi terdistribusi. MTS beroperasi pada middle-tier dan menyediakan control transaksi.

Sebagai contoh, jika Anda mengembangkan sistem 3-tier yang mana menempatkan business object pada middle-tier, maka Anda dapat membuat ActiveX DLL sebagai business objectnya, dan melakukan instalasi didalam lingkungan MTS pada middle-tier.

MTS akan bertanggung-jawab dalam menangani akses multi-client pada busines object tersebut. MTS menyediakan fasilitas seperti transaksi rollback, commit dan deadlock pada middle-tier.

3. HTTP/Web Server.

Untuk aplikasi n-tier pada aplikasi Internet/Intranet, Anda mutlak memerlukan Web Server. Terdapat cukup banyak web server yang umum digunakan seperti Apache Web Server atau Internet Information Server (IIS).

Anda dapat menggunakan web server sebagai middle-tier untuk menangani permintaan dari browser komputer client.

4. Microsoft Message Queue Server.

MMQS atau Microsoft Message Queue Server merupakan teknologi yang dikembangkan oleh Microsoft yang berjalan pada middle-tier dan berfungsi untuk mengelola antrian permintaan.

Hal ini dilatarbelakangi karena didalam jaringan yang besar, tidak semua komputer yang terkoneksi berfungsi pada saat yang diperlukan, sehingga diperlukan sebuah aplikasi yang dapat mengelola antrian request dari client dan response dari server yang akan dikirimkan lagi ketika komputer tujuan telah berfungsi.

Bahkan jika Anda menggunakan banyak server dan keseluruhan server sedang dalam kondisi down, MMQS akan menyimpan semua request hingga beberapa atau semua server kembali online.

Satu keuntungannya lagi, jika client-client meminta request yang melebihi kapasitas sebuah server, maka MMQS dapat menyimpannya untuk kemudian mendelegasikannya pada server yang tidak sibuk. Untuk kebutuhan ini diperlukan aplikasi pada server yang berfungsi sebagai listener atau referral.

5. Database Management System.

Database Management System atau dikenal dengan singkatan DBMS merupakan sumber penyimpanan data dan tentu saja memegang peranan vital dalam keseluruhan sistem.

Untuk arsitektur 2-tier dan n-tier, diperlukan aplikasi DBMS yang mampu bekerja pada lingkungan tersebut, beberapa contohnya adalah MySQL, Microsoft SQL Server dan Oracle.

Jika pada DBMS yang dipergunakan terdapat fasilitas stored procedure, maka dimungkinkan untuk menyimpan business logic didalam stored procedure yang akan diakses oleh client.

Conceptual Model

Tahap disain untuk merancang aplikasi untuk perusahaan bisa jadi merupakan pekerjaan yang rumit dan harus berhati-hati. Sehingga sangat disarankan Anda mencurahkan waktu yang cukup pada tahap disain.

Pendekatan terbaik untuk melakukan disain adalah dengan membagi aplikasi kedalam unit-unit kecil yang disebut modul. Pada awalnya Anda dapat membuat modul standalone yang dapat dipanggil oleh modul lainnya dan dapat digunakan berulang kali (reused) pada project yang lain.

Hal ini akan mempermudah pekerjaan Anda dan menghindari duplikasi pengkodean yang tidak perlu, serta menghemat waktu kerja Anda.

Pada tahap disain ini juga, Anda perlu mengenal apa yang dinamakan dengan conceptual model, yang juga dikenal dengan sebutan service model atau application model.

Pada implementasi siste 3-tier, dikenal tingkatan sebagai berikut:

1. User service/Presentation tier.
Saat Anda melakukan perancangan pada tahap awal, presentation tier merupakan tingkatan yang mengijinkan pengguna berkomunikasi dengan aplikasi.

2. Business service/Application server tier.
Digunakan untuk melakukan implementasi business logic.

3. Data service/Data source tier.
Tingkatan terakhir ini berfungsi untuk mengelola permintaan operasi data.

Mengenal Ruang Lingkup

Keberhasilan membuat aplikasi perusahaan juga sangat tergantung pada informasi yang Anda dapatkan mengenai perusahaan yang bersangkutan. Pengertian perusahaan tidak selalu mengacu pada PT Angin Ribut seperti pada contoh, tetapi bisa jadi organisasi seperti sekolah, universitas, atau bahkan pemerintah.

Yang pasti, aplikasi tersebut memiliki nilai guna yang besar bagi customer maupun perusahaan yang bersangkutan, mengenal business rule perusahaan yang bersangkutan merupakan kata lain dari mengenal “medan tempur”, dimana masing-masing perusahaan memiliki orientasi yang bisa jadi berbeda. Sehingga sisi komunikasi yang baik pun harus dimiliki untuk menghindari kesalahan interpetasi.

Menciptakan komunikasi yang baik dengan user yang secara langsung akan menggunakan aplikasi Anda juga akan sangat membantu pemahaman dan kesulitan yang dialami, sehingga pemecahan atau solusinya akan lebih mudah ditemukan dan diimplementasikan dalam aplikasi Anda.

Posted in Uncategorized | Leave a Comment »
Antrian dalam struktur data / Quequ

Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar. Dapat di ilustrasikan seperti sebuah tumpukan buku, ketika mengambil sebuah buku di dalam tumpukan itu maka harus diambil satu persatu dari buku yang paling atas dari tumpukan buku tersebut.

Beberapa contoh ilustrasi yang dapat menggambarkan tumpukan dan cara beroperasinya adalah tumpukan sate, tumpukan Compact Disk (CD), dan lain-lain. Sate misalnya, si pembuat sate menusukan (memasukan) daging sate ke tusukan satu per satu dari ujung tusukan (ujung yang runcing) menuju/mendekati batas pangkal, jika telah dimasak, maka si pemakan sate akan mengeluarkan (memakan) sate satu persatu dari ujung (yang akhir-akhir dimasukan si pembuat, itulah yang awal-awal dimakan). Demikian juga dengan tumpukan CD, orang akan mengambil CD dari tumpukan teratas yang mana merupakan yang terakhir dimasukan di dalam tumpukan.

Fungsi dalam Stack:

* Fungsi init: fungsi yang digunakan untuk inisialisasi atau membuat stack baru yang masih kosong.
* Fungsi full: digunakan untuk mengetahui stack penuh atau tidak.
* Fungsi empty: digunakan untuk mengetahui stack kosong atau tidak.
* Fungsi clear: digunakan untuk mengosongkan stack. Stack dianggap kosong apabila puncak stack berada pada posisi -1.
* Fungsi push: digunakan untuk menambahkan data ke dalam stack. Penambahan data tidak bisa dilakukan apabila stack sudah penuh. Urutan perintahnya adalah: menambahkan nilai top dan menambahkan data pada posisi nilai top. Jika dalam Linked List menggunakan method addLast
* Fungsi pop: digunakan untuk mengeluarkan data teratas stack dengan syarat bahwa stack tidak kosong. Urutan perintahnya adalah : menghapus data pada posisi nilai top dan menurunkan nilai top. Jika dalam Linked List menggunakan method removeLast

Sangat jarang sekali ditemui data – data yang disajikan tanpa menggunakan konsep basis data. Hal ini dikarenan banyak sekali manfaat yang didapat dari penggunaan konsep basis data. Manfaat konsep basis data antara lain :

Kecepatan dan Kemudahan dalam Pengaksesan Data

Jika data disajikan dengan menggunakan konsep basis data, pengguna akan lebih mudah dan cepat dalam mengakses data. Lebih cepat karena data tersaji lebih terstruktur sehingga pengguna mudah untuk menemukan data yang dicarinya. Lebih mudah karena untuk pemutahiran tidak diperlukan pengubahan data secara keseluruhan. Intinya, kecepatan dan kemudahan bisa dirasakan pada saat proses penyimpanan data, pemutahiran data, dan penampilan kembali data.

Keefisienan Penyimpanan Data

Telah diketahu bahwa padaa basis data, semua data harus merupakan data – data yang unik atau berbeda satu dan lainnya. Oleh karena itu tidak akan terjadi suatu pengulangan penyimpanan data – data yang sama sehingga ruang penyimpanan yang dibutuhkan lebih efisien.

Selain tidak adanya suatu pengulangan penyimpanan data yang sama, kefisienan basis data juga didukung oleh kemampuan basis data untuk dipakai kembali. Dua atau lebih kumpulan data bisa dimanfaatkan kembali sehingga bisa mengoptimalkan ruang penyimpanan kumpulan – kumpulan data tersebut.

Keakuratan Data Lebih Tinggi

Agar pengguna tidak melakukan kesalahan saat pembacaan data, penyajian data bisa dilakukan berdasarkan katagori – katagori tertentu. Pada teknologi terkini, pengguna juga bisa memanfaatkan fitur pencarian suatu data.

Kebersamaan (Sharability)

Jika data diakses oleh beberapa pengguna, pastinya dibutuhkan sistim pengaksesan secara paralel agar seluruh pengguna bisa mengakses data secara bersama – sama. Dengan teknologi jaringan terkini, bukan merupakan hal yang tidak mungkin lagi jika ada beberapa pengguna yang dapat mengakses data pada basis data yang sama secara bersama – sama.

Kelengkapan (Completeness)

Fakta yang terjadi pada dunia ini pasti tidak konstan. Ada perubahan yang terjadi di tiap waktunya. Begitu juga dengan data yang di simpan dalam basis data. Oleh karena itu, dengan menggunakan basis data, pengelola data dapat dengan mudah melengkapi atau mengubah data – data yang tidak sesuai.

Ketersediaan (Avaiblity)

Pengelolaan data dengan menggunakan konsep basis data dan didukung dengan teknologi jaringan terkini memberikan kemudahan bagi pengguna untuk mengaksesnya. Salah satu kemudahan itu adalah tersedianya data dalam media internet sehingga user bisa mengaksesnya kapan dan di mana saja.
Penerapan Konsep Basis Data

Dalam implementasinya, konsep basis data bisa diterapkan, tidak hanya dengan menggunakan teknologi komputer, tetapi juga bisa diterapkan dengan cara manual. Berikut penjelasan kedua cara pengelolaan basis data

Enterprise
Suatu bentuk organisasi seperti: bank, universitas, rumah sakit, pabrik, dsb.
Data yang disimpan dalai basis data merupakan data operasional dari suatu enterprise.
Contoh data operasional : data keuangan, data mahasiswa, data pasien

Entitas
Suatu obyek yang dapat dibedakan dari lainnya yang dapat diwujudkan dalai basis data.
Contoh Entitas dalam lingkungan bank terdiri dari : Nasabah, Simpanan, Hipotik
Contoh Entitas dalam lingkungan universitas terdiri dari : Mahasiswa, mata kuliah
Kumpulan dari entitas disebut Himpunan Entitas
Contoh : semua nasabah, semua mahasiswa

Atribut ( Elemen Data )
Karakteristik dari suatu entitas.
Contoh : Entitas Mahasiswa atributnya terdiri dari Npm, Nama, Alamat, Tanggal lahir.
Nilai Data ( Data Value )
Isi data / informasi yang tercakup dalai setiap elemen data.
Contoh Atribut Nama Mahasiswa dapat berisi Nilai Data : Diana, Sulaeman, Lina

Kunci Elemen Data ( Key Data Element )
Tanda pengenal yang secara unik mengidentifikasikan entitas dari suatu kumpulan entitas.
Contoh Entitas Mahasiswa yang mempunyai atribut-atribut npm, nama, alamat, tanggal lahir menggunakan Kunci Elemen Data npm.

Record Data
Kumpulan Isi Elemen data yang saling berhubungan.
Contoh : kumpulan atribut npm, nama, alamat, tanggal lahir dari Entitas Mahasiswa berisikan : “10200123″, “Sulaeman”, “Jl. Sirsak 28 Jakarta”, “8 Maret 1983″.