Selasa, 24 April 2018

Perangkat keras yang dibutuhkan pada operasi jaringan.

Hello ..

Kali ini IhsaNFO akan memberikan informasi tentang perangkat keras yang biasanya selalu ada dan dibutuhkan dalam suatu jaringan. Dan berikut ini beberapa perangkat keras yang dibutuhkan pada operasi Jaringan.

1. PC Server
PC Server merupakan komputer yang sangat cepat, mempunyai memori yang besar, harddisk yang memiliki kapasitas besar, dengan kartu jaringan yang cepat. Sistem operasi jaringan tersimpan disini, juga termasuk didalam nya beberapa aplikasi dan data yang dibutuhkan untuk jaringan. Sebuah server bertugas mengontrol komunikasi dan informasi diantara komponen dalam suatu jaringan.

2. Router
Router merupakan perangkat keras jaringan komputer yang dapat digunakan untuk menghubungkan beberapa jaringan yang sama atau berbeda. Router adalah sebuah alat untuk mengirimkan paket data melalui jaringan atau internet untuk dapat menuju tujuannya, proses tersebut dinamakan routing. Berfungsiuntuk membagi atau mendistribusikan IP address, baik itu secara statis ataupun DHCP atau Dynamic Host Configuration Procotol kepada semua komputer yang terhubung ke router tersebut .

3. Bridge

Berfungsi  untuk Menghubungkan 2 buah jaringan LAN yang sejenis. Dapat menghubungkan beberapa jaringan komputer ayang terpisah. Bridge dapat berfungsi sebagai router pada jaringan komputer yang lebih luas (Bridge Router).

4. Switch
Merupakan alat yang digunakan untuk menghubungkan beberapa LAN yang terpisah serta menyediakan filter paket antar LAN. Switch adalh peralatan multi port, masing-masing dapat mendukung satu workstation, jaringan Ethernet atau jaringan Token Ring.

5. Hub
Hub adalah unsur paling penting dalam LAN. Hub merupakaan pusat koneksi semua node pada jaringan. Semua peralatan jaringan dihubungkan satu dengan yang lain melalui hub. Hub bertindak sebagai titik pengendali untuk aktivitas sistem, pengelolaan data serta pengembangan jaringa. Hub adalah alat yang menyediakan titik pusat hubungan untuk kabel dari worlstation , server dan peralatan jaringan lainya.

6. Repeater
Repeater adalah alat yang dapat menguatkan (boost) isyarat jaringan yang melintasinya. Repeater melakukan penguatan dengan cara memperbaiki secara elektrik isyarat yang diterima yang terpisah atau menjadi satu dengan konsentrator. Repeater digunakan apabila jarak tempuh isyarat yang melalui kabel melebihi jarak tempuh standar kabel yang digunakan. 

7. Converter
Berfungsi sebagai mengkorversi tegangan masukan searah konstan menjadi tegangan keluaran searah yang bisa divariasikan berdasarkan perubahan duty cycle pada rangkaian  control.  

8. NIC (Network Interface Card)
NIC atau kartu antar muka jaringan atau kartu jaringan merupakan peraatan yang mungkin terjadinya hubungan antara jaringan dengan komputer server. Kebanyakan NIC merupakan peralatan internal yang dipasangkan pada slot ekspansi dalam komputer baik slot ekspansi ISA maupun slot ekspansi PCI.

9. Kabel Jaringan
Berfungsi sebagai media penghubung sekaligus untuk membuat suatu jaringan antar komputer, kabel ini dirancang khusus untuk dapat mentransmisikan data penting dari komputer satu dengan komputer lainnya dalam satu jaringan.  

10. Konektor
Berfungsi sebagai penghubung antara perangkat satu dengan perangkat yang lainnya dan juga ada yang berbeda. 

11. Gateway



Berfungsi untuk melakuka protocol converting, agar dua arsitektur jaringan komputer yang berbeda dapat saling berkomunikasi. 

12. Firewall
Berfungsi untuk sebagai pengontrol mengawasi arus paket data yang mengalir di jaringan.

13. Modem
Berfungsi untuk komunikasi dua arah yang merubah sinyal digital menjadi sinyal analog atau sebaliknya untuk mengirimkan pesan/data ke alamat yang dituju. 

14. Access Point
WAP atau AP adalah peralatan yang berfungsi sebagai pusat kominikasi data dalam jaringan WLAN (Wireless LAN). Dalam mode operasi yang umum digunakan (Infrastrucrure mode), semua server wireless berkomunikasi dengan workstation atau dengan server lain melalui WAP.



Sekian Informasi pada postingan kali ini, semoga informasi tadi bisa membantu dan bermanfaat buat kalian semua.  Terima Kasih dan Terus ikuti mifrstory.blogspot.co.id untuk mengetahui info info penting lainnya dari IhsaNFO.

Rabu, 04 April 2018

Mengenal apa itu VGA dan Sejarahnya?


Pengertian VGA Card (Kartu Grafis)
VGA (Video Graphics Array) berfungsi untuk mengolah data graphis untuk ditampilkan pada layar kerja monitor. VGA memiliki prosessor yang disebut juga dengan GPU (Graphics Processing Unit) dan juga membutuhkan memori.

VGA pertama kali dipasarkan pada tahun 1987 oleh IBM. Meskipun standard VGA sudah tidak lagi digunakan karena sudah diganti oleh standar yang tentunya lebih baru. VGA merupakan standar grafis terakhir yang diikuti oleh matoritas pabrik pembuat kartu grafis komputer. Sampai sekarang pun tampilan windows masih menggunakan modus VGA karena didukung oleh banyak produsen kartu grafis dan monitor.

Istilah VGA juga sering digunakan untuk mengacu kepada resolusi layar yang berukuran 640 x 480 piksel. Kartu grafis (VGA) digunakan untuk menerjemahkan output dari sebuah komputer (tampilan) ke monitor. Kegiatan desain grafis atau bermain game akan memerlukan kartu grafis dengan kapasitas dan kualitas yang tinggi. Pada saat bermain game, apalagi game online pasti akan membutuhkan VGA dengan kualitas bagus dan ukuran yang besar. Pada saat bermain game pasti komputer akan menampilkan sebuah gambar dengan kapasitas yang sangat besar, maka apabila VGA tidak sanggup untuk menampilkan gambar tersebut, dan dapat menyebabkan komputer menjadi error, lag, force close, bahkan hang atau computer merestart sendiri. Produsen kartu grafis yang sangat terkenal saat ini adalah AMD dan Nvidia. Kedua produk-produk inilah yang saat ini mengusai pasar VGA khususnya di Indonesia.
VGA juga dapat mengacu kepada konektor VGA 15-pin yang masih digunakan sampai sekarang ini untuk mengantarkan sinyal video analog ke monitor. Standard VGA secara resmi digantikan oleh standard XGA dari IBM, tatapi kenyataannya VGA justru digantikan oleh Super VGA.

Fungsi VGA Card
  1.   Fungsi dari VGA Card adalah untuk menerjemahkan atau mengubah sinyal digital dari komputer menjadi tampilan grafis pada layar monitor. Kartu VGA digunakan juga untuk menerjemahkan output komputer ke monitor. Bermanfaat untuk menggambar, bermain game, dan lainnya
  2.   Untuk memperjelas gambar ketika bermain sebuah Game.
  3.   Untuk memperjelas tampilan sebuah Flash.
  4.   Untuk menstabilkan warna pada sebuah gambar / foto ketika editing foto.

VGA  terbagi menjadi 5 jenis yaitu:
1. DRAM (DYNAMIC RAM)
Kartu grafis dengan menggunakan memori DRAM (Dynamic RAM) memiliki kecepatan 80ns atau 70 ns, ada juga MD-RAM (Multiple Dynamic RAM) yang memiliki DRAM (Dynamic RAM) berlapis. DRAM (Dynamic RAM) banyak digunakan oleh VGA card 8, 16 atau 32-bit. Penggunaan DRAM (Dynamic RAM) ditujukan untuk komputer entry level tidak terlalu memerlukan warna dan kecepatan tinggi dalam merendering grafis.

2. EDO RAM
Kartu grafis dengan menggunakan memori EDO RAM memiliki kecepatan 60 ns sampai 35 ns, EDO RAM banyak ditemui pada VGA card 64-bit.
3. VRAM (VIDEO RAM)
Kartu grafis dengan menggunakan VRAM (Video RAM) memiliki kecepatan 20 atau 10 ns, VRAM (Video RAM) lebih mahal dibandingkan DRAM karena kecepatannya untuk melakukan rendering. Penggunakan VRAM (Video RAM) biasanya digunakan untuk komputer high level atau untuk desain grafis.
4. SGRAM (SYNCHRONOUS GRAPHIC RAM)
Kartu grafis dengan menggunakan SGRAM (Synchronous Graphic RAM) memiliki kecepatan kurang dari 10 ns, SGRAM dikembangkan berdasarkan SDRAM pada memori komputer. SGRAM (Synchronous Graphic RAM) banyak digunakan untuk Video Graphics Array card kelas tinggi yang mempunyai kemampuan 3D Array.
5. RAMBUS
Kartu grafis dengan menggunakan RAMBUS jumlahnya sangat sedikit, biasanya Video Graphics Array card berjenis RAMBUS digunakan oleh konsol-konsol game seperti Nitendo atau Sega.

Jenis Slot Vga Komputer

Untuk pemasangan VGA Komputer, ada beberapa jenis bentuk slot yang ada di dalam motherboard, berikut jenis-jenis slot peripheral untuk memasang Kartu grafis :
1.Kartu grafis ISA adalah jenis kartu Video Graphics Array yang dimasukkan pada slot ekspansi ISA (Industry Standard Architecture) bus yang masih bersistemkan I/O 8-bit atau 16-bit.
2.Kartu grafis EISA adalah jenis kartu Video Graphics Array yang dipasang pada slot ekspansi EISA (Extended Industry Standard Architecture) bus yang adalah 32-bit sistem I/O.
3.Kartu grafs PCI adalah jenis kartu Video Graphics Array yang dipasang pada slot ekspansi PCI (Peripheral Component Interconnect) bus yang adalah 32-bit atau 64-bit sistem I/O.
4.Kartu grafis AGP adalah jenis kartu Video Graphics Array yang ditancapkan pada slot ekspansi AGP (Accelerated Graphics Port) bus yang adalah 128-bit atau 256-bit sistem I/O.
5.Kartu grafis PCI Express (PCIe) adalah jenis kartu Video Graphics Array yang dimasukkan pada slot ekspansi PCIe (Peripheral Component Interconnect Express) bus yang adalah berangkaian seri sistem I/O nya dengan kecepatan transfernya adalah mencapai hingga 32 GByte/s.

Cara Mengetahui Spek VGA Komputer

Ada 2 cara yang mudah untuk mengetahui spek dari vga komputer yaitu:
1. Menggunakan software CPU-Z
Dengan menggunakan CPU-Z ini semua spesifikasi vga dapat mudah kita dapatkan. Mau coba silahkan download terlebih dahulu CPU-Znya. Untuk linknya cari aja di mbah google. Dibawah ini tampilan CPU-Z
2. Menggunakan DirectX
Caranya sebagai berikut
Buka Run dengan cara pencet tombol Windows+R pada keyboard secara bersamaan.
Ketik dxdiag kemudian klik OK atau Enter.
Klik tab Display maka akan tampak informasi dari Video Graphics Array Anda.




SEJARAH PERKEMBENGAN CHIPSET
Pada tahun 1985, ATI didirikan sebagai Array Technologies Incorporated oleh Yuen Kwok Ho, Benny Lau dan Lee Ka Lau. Bekerja terutama dalam bidang OEM, ATI produksi terintegrasi kartu grafis untuk PC seperti IBM dan Commodore. By 1987, ATI telah berkembang menjadi sebuah kartu grafis independen pengecer, pengenalan EGA Wonder dan VGA Wonder lini produk kartu grafis dengan merek yang di bawah tahun. Pada bulan Mei 1991, perusahaan yang dirilis Mach8, ATI pertama produk dapat memproses grafik tanpa CPU. Debuting pada tahun 1992, yang ditawarkan Mach32 meningkatkan bandwidth dan memori GUI percepatan kinerja. ATI Technologies Inc pergi publik pada tahun 1993 dengan saham yang terdaftar di NASDAQ dan Bursa Efek Toronto.
Pada tahun 1994, yang Mach64 penderas debuted, powering dengan Grafis dan Xpression Graphics Pro Turbo, menawarkan dukungan hardware untuk YUV-ke-ruang warna RGB konversi di samping perangkat keras memperbesar; awal teknik hardware berbasis video percepatan.
ATI diperkenalkan pertama kombinasi 2D dan 3D accelerator dengan nama 3D Rage. Chip ini berdasarkan Mach 64 tetapi kekuatan fitur akselerasi 3D. The ATI Rage baris powered hampir seluruh berbagai produk grafis ATI. Secara khusus, Rage Pro merupakan salah satu giat 2D-plus-3D alternatif untuk 3dfx’s 3D hanya Voodoo chipset. Akselerasi 3D di baris Rage lanjutan dari fungsi dasar dalam awal 3D Rage ke DirectX yang lebih canggih 6,0 penderas di 1999 Rage 128.
All-in-Wonder lini produk diperkenalkan pada tahun 1996 adalah yang pertama kombinasi chip grafis terintegrasi dengan TV tuner yang pertama dan kartu chip yang memungkinkan komputer untuk menampilkan gambar pada televisi. [4] The kartu fitur akselerasi 3D ATI didukung oleh kedua generasi 3D Rage II, 64-bit 2D performa, kualitas video TV-akselerasi, analog video capture, TV tuner fungsionalitas, meliuk-bebas TV-out dan TV stereo audio penerimaan.
ATI sudah masuk ke dalam ponsel oleh sektor komputasi memperkenalkan grafis 3D-akselerasi ke laptop pada tahun 1996. Mobilitas lini produk yang telah memenuhi persyaratan yang berbeda dari PC desktop, seperti diminimalkan penggunaan listrik, mengurangi panas output, output TMDS kemampuan untuk laptop layar, integrasi dan maksimal. Pada tahun 1997, ATI Tseng Labs diperoleh dari grafik aset, yang termasuk 40 teknisi.
Radeon di lini produk ini unveiled grafis pada tahun 2000. Awal grafis Radeon pengolahan adalah semua unit-desain baru dengan DirectX 7,0 akselerasi 3D, video akselerasi, dan akselerasi 2D. Teknologi dikembangkan untuk generasi Radeon tertentu dapat dibangun dalam berbagai tingkat kinerja dan fitur untuk menyediakan produk yang cocok untuk seluruh pasar jangkauan. Kisaran stretches dari high-end Radeon HD 3000/4000 seri yang mendukung DirectX 10,1 Unified Shader Model teknologi, untuk Mobility Radeon produk untuk laptop, dan untuk anggaran seri, seperti Radeon X1300. Generasi ini kemudian diperluas untuk mencakup fleksibilitas untuk memudahkan pembangunan terpadu baik dan mempunyai ciri-ciri bagian dari teknologi yang sama.
Pada tahun 2000, ATI diperoleh ArtX, yang rekayasa yang mirip chip grafis yang digunakan di Nintendo gamecube game konsol. Mereka juga membuat versi modifikasi dari chip (CODEC Hollywood) untuk penerus dari gamecube, yang Wii. ATI telah mengontrak oleh Microsoft untuk membuat grafik inti (CODEC Xenos) untuk Xbox 360. Kemudian pada tahun 2005, ATI diperoleh dari Terayon Modem Kabel Silicon Kekayaan Intelektual memperkuat mereka memimpin di pasar konsumen televisi digital. KY Ho tetap sebagai Ketua Dewan sampai ia pensiun pada November 2005. Dave Orton diganti dia sebagai Presiden dan CEO organisasi.
Pada tanggal 24 Juli 2006, AMD dan ATI mengumumkan rencana untuk bergabung bersama dalam menangani bernilai $ 5,4 miliar. Merger yang ditutup pada 25 Oktober 2006. Akuisisi pertimbangan termasuk lebih dari $ 2 miliar dibiayai dari pinjaman dan 56 juta saham dari saham AMD. ATI tetap namanya, logo dan merek dagang. ATI maka CEO Dave Orton dibuat Eksekutif Vice President of Visual Bisnis dan Media.
Dilaporkan bahwa pada bulan Desember 2006 AMD / ATI, beserta saingan utama NVIDIA, menerima panggilan dari Amerika Serikat Departemen Kehakiman mengenai kemungkinan pelanggaran antitrust di industri kartu grafis.
Pada bulan Juli 2007, AMD mengumumkan pengunduran diri dari Dave Orton. ATI, sebuah anak perusahaan dari AMD, dinamakan Graphics Product Group (GPG) di dalam perusahaan. The top-level manajemen yang Graphics Product Group terdiri dari Rick Bergman, Senior Vice President dan General Manager dan Adrian Hartog, Senior Vice Presiden dan General Manager Elektronik Konsumen Group. Kedua lapor ke Dirk Meyer, CEO AMD.
Produk ATI
Selain mengembangkan high-end GPUs (awalnya disebut VPU, visual unit pengolahan, oleh ATI) untuk PC, ATI juga tertanam versi desain untuk laptop (Mobility Radeon), PDA dan ponsel (Imageon), motherboard terpadu (Radeon IGP) , dan beberapa others.
ATI mempromosikan produk-produknya dengan fiksi “Ruby” karakter perempuan, yang bisa disewa duitan. “Komputer video animasi yang dihasilkan oleh RhinoFX tentang Ruby pada misi (menjadi sniper, penyabot, hacker dan sebagainya) akan ditampilkan pada teknologi menunjukkan besar seperti CeBIT, Ces.
* Graphics Solusi / “Small Wonder” – Seri 8-bit ISA card dengan MDA, CGA Hercules dan kompatibilitas. Nanti versi ditambahkan EGA dukungan.
* EGA / VGA Wonder – IBM “EGA / VGA-kompatibel” menampilkan Adapters (1987)
* Seri Mach – ATI pertama diperkenalkan 2D GUI “Windows Accelerator”. Sebagai seri berkembang, GUI akselerasi meningkat drastis dan awal video percepatan muncul.
* Seri Rage – ATI pertama 2D dan 3D accelerator chips. Yang berkembang dari seri elementer 3D dengan 2D GUI akselerasi MPEG-1 dan kemampuan, untuk yang sangat kompetitif dengan Direct3D 6 penderas kemudian “terbaik di kelas” DVD (MPEG2) percepatan. Berbagai keripik sangat populer dengan OEMs of the time. Rage II yang digunakan pada ATI All-In-Wonder multi fungsi kartu video, dan lebih maju Semua-Dalam-Wonders berdasarkan Rage series GPUs diikuti. (1995-2004)
o Rage Mobilitas – Dirancang untuk digunakan dalam rendah daya lingkungan, seperti buku tulis. Keripik fungsional ini adalah mereka yang mirip dengan desktop negeri, tetapi harus maju seperti penambahan daya manajemen, LCD antarmuka, dan memantau fungsi ganda.
* Radeon Series – Diluncurkan pada 2000, ATI Radeon baris adalah merek bagi konsumen 3D accelerator tambahan di kartu. Yang asli adalah ATI Radeon DDR pertama DirectX 7 3D accelerator, mereka memperkenalkan pertama hardware T & L engine. ATI sering diproduksi ‘Pro’ versi jam dengan kecepatan tinggi, dan kadang-kadang ekstrim ‘XT’ versi, dan bahkan lebih baru ‘XT Platinum Edition (PE)’ dan ‘XTX’ versi. Radeon seri yang merupakan dasar bagi banyak ATI All-In-Wonder boards.
o Mobility Radeon – Serangkaian daya dioptimalkan versi Radeon chip grafis untuk laptop. Mereka memperkenalkan inovasi seperti modularized RAM chips, DVD (MPEG2) percepatan, notebook GPU kartu sockets, dan “PowerPlay” daya manajemen teknologi.
o ATI CrossFire – Teknologi ini telah ATI tanggapan dari NVIDIA SLI platform. It diizinkan, dengan menggunakan kedua kartu video dan dual PCI-E Motherboard berdasarkan ATI CrossFire chipset yang kompatibel, kemampuan untuk menggabungkan kekuatan dua kartu video untuk meningkatkan performa melalui berbagai berbeda memberikan pilihan. Ada satu pilihan untuk tambahan PCI-E video plugging kartu ke dalam tiga slot PCI-E untuk game fisika, atau pilihan lain untuk melakukan fisika pada kedua video card.
* FireGL – Diluncurkan pada 2001, setelah akuisisi ATI FireGL Grafis dari Diamond Multimedia. Workstation CAD / CAM kartu video, berdasarkan Radeon seri.
* FireMV – Untuk workstation, dengan multi-melihat, sebuah teknologi untuk kebutuhan untuk menampilkan beberapa workstation dengan akselerasi 2D saja, biasanya didasarkan pada produk low-end dari seri Radeon.
[sunting] platform komputer pribadi dan chipset
Lihat juga: Perbandingan chipset ATI dan Perbandingan chipset AMD
* IGP 3×0, Mobility Radeon 7000 IGP – chipset ATI pertama. Menyertakan DirectX 7-tingkat prosesor grafis 3D.
IGP * 9100 – 2. Generasi sistem chipset. IXP250 Southbridge. Ianya penting untuk menjadi yang pertama selesai ATI chipset motherboard, termasuk ATI-dibangun Southbridge. Ia termasuk yang Diperbaharui DirectX 8,1 prosesor grafis kelas.
* Xpress 200/200P – PCI Express berbasis Athlon 64 dan Pentium 4 chipset. Mendukung SATA serta grafis terintegrasi dengan dukungan DirectX 9.0, pertama chipset grafis terintegrasi untuk melakukannya.
* Xpress 3200 – mirip dengan Xpress 200, tetapi dirancang untuk kinerja optimal CrossFire.
o AMD CrossFire 580X chipset – AMD edisi Xpress 3200 diganti, karena AMD Akuisisi ATI.
* 690G, Xpress 1250 – untuk platform AMD dan Intel. Termasuk DirectX 9 prosesor grafis ditingkatkan melalui Xpress 200 dan industri asli HDMI pertama pelaksanaan di motherboard.
* Chipset AMD 700 series – khusus untuk prosesor AMD, ini adalah keluarga chipset yang mendukung prosesor Phenom dan antusias Quad FX platform (790FX), antusias chipset (790X), IGP (790GX, 780G, 740G) dan satu kartu grafis varian (770, 740) bertujuan utama nilai dan sistem komputasi yang tersedia.
Selain di atas chipset ATI telah mengumumkan bahwa telah menangani bulus dengan CPU dan Motherboard sebagai produsen tahun 2005, khususnya Asus dan Intel, untuk membuat onboard 3D Graphics Intel solusi untuk berbagai motherboard baru yang akan diluncurkan dengan berbagai Intel Pentium M berbasis desktop prosesor, Intel Core dan prosesor Intel Core 2, yang D101GGC dan chipset D101GGC2 (CODEC “Grand County”) berdasarkan Radeon Xpress 200 chipset. Namun, high-end papan dengan prosesor grafis terintegrasi (IGP) akan tetap menggunakan grafis terintegrasi Intel GMA prosesor. Yang berhubungan dengan Intel telah dianggap secara resmi berakhir dengan pembelian dari AMD ATI Technologies pada bulan Juli 2006, dengan Intel mengumumkan SiS IGP chipset (chipset D201GLY, CODEC “Little Valley”) untuk masuk level platform desktop, mengganti “Grand County “seri chipset.


Perkembangan Chipset

                                                                          "CHIPSET"

    Secara fisik, chipset berupa sekumpulan IC kecil atau chips yang dirancang untuk bekerjasama dan memiliki fungsi tertentu, Ia akan memerintahkan apa yang harus dilakukan oleh port USB, juga menentukan seberapa cepat system mengakses memory. Dengan demikian fungsi dari core logic chipset sangatlah penting untuk menunjang kinerjakomputer.
Berikut adalah perkembangan "Chipset" :

1. Intel
           Paling diunggulkan dalam meningkatkan kemampuan chipset  dalam mendukung fitur dual-core processor.

2. Nvidia
             Setelah sebelumnya sempat berseberangan dengan Intel, kini chipset nVIDIA bisa bersanding dengan processor Intel. Dengan mencoba mengeluarkan chipset terbarunya yaitu nVIDIA nForce4 Intel Edition. Chipset serupa sebelumnya hadir untuk basis Athlon 64. Pada chipset tersebut telah mendukung teknologi SLI dan dilengkapi dengan SATA 3 GB juga Firewall. 

3.  VIA
            Memberikan dua pilihan memory yaitu DDR400 dan DDR2 667 sehingga bisa menyesuaikan dengan kebutuhannya.
Keunikan chipset ini adalah dapat menjalankan video card PCI Express x16 juga AGP 8x. Keduanya dapat berjalan secara simultan dan mendukung dual monitor.










SEJARAH PERKEMBANGAN VGA
Pada sebuah PC ada 3 komponen yang sangat berperan penting dalam hal kinerja grafis: prosesor, memori, dan kartu VGA. VGA (Video Graphics Adapter), adalah standar tampilan komputer analog. VGA juga bisa diartikan sebagai komponen yang tugasnya menghasilkan visual dari komputer dan hardware yang memberikan perintah kepada monitor untuk menampilkan keluaran visual yang dapat kita lihat. VGA pertama kali dipasarkan pada tahun 1987 oleh IBM (International Bushiness Machines Corporation) disingakat menjadi IBM. NYSE : IBM adalah salah satu perusahaan AS yang membuat/memproduksi perangkat keras dan perangkat lunak. IBM didirikan pada 15 Juli 1911 dan beroprasi pada tahun 1888 yang berpusat di Armonk, New York, AS. VGA terdiri atas dua jenis, yaitu:
VGA onboard
VGA onboard adalah unit pemroses yang telah menyatu pada motherboard, maka VGA card tidak diperlukan lagi. Keberadaan chipset VGA onboard ini tidaklah bersifat tetap karena VGA onboard ini dapat diatur untuk tidak aktif jika user ingin memasang VGA card yang diinginkannya. Sejak IBM PC lahir pada tahun 1981 nyaris semua PC mempunyai memori terpisah untuk frame buffer, yaitu block memori dimana gambar yang keluar di layar monitor dipetakan. Ini bukan masalah bagi sistem yang memiliki video monochrome bebasis karakter. Karena frame buffer yang diperlukan hanya 2 KB. Tetapi GUI (Graphical User Interface) yang berbasis modern yang memerlukan layar bit mapped yang bersolusi tinggi dan warna sejati sangat rakus memori.Layar beresolusi 640 x 480 pixel dengan warna 8 bit meminta frame buffer sebesar 300 KB, sementara layar beresolusi 1024 x 768 pixel dengan warna 24 bit memerlukan memori sebesar 2,25 MB. Frame buffer yang dedicated , berukuran tetap. Tidak perduli mode layar yang sedang digunakan frame buffer harus mampu mengakomodasi resolusi paling tinggi dan kedalaman warna terbaik yang dapat didukungnya. Software tidak bisa memanfaatkan memori sisa dari frame buffer walaupun yang digunakan adalah resolusi rendah dan 16 warna. Ini penyebabnya oleh cara pemaketan Video dan konfigurasinya dalam sub sistem grafis yang khusus. Dengan demikian, ber-Mega-mega byte memori tersia-siakan. UMA (Unified Memori Architecture) menyatukan frame buffer dengan memori utama.
VGA bukan onboard (dengan kartu VGA)
Sejak sistem PC IBM pertama, didalam computer pasti ada unit kartu grafis, entah itu CGA, EGA, MCGA , VGA, atau yang lain. Dengan menggunakan kartu VGA bukan onboard maka akan didapatkan kinerja yang lebih baik daripada sistem yang menggunakan UMA (Unified Memori Architecture). Jika dulu sebuah kartu grafis 8 bit dengan memori 512 KB yang dapat menampilkan 256 warna pada resolusi 640 X 480 sudah cukup, maka sekarang tidak lagi. Kebutuhan minimal untuk komputer multimedia adalah kartu grafik 64 bit dengan memori 1 MB.

Sejarah Perkembangan 3D Graphics
Saat ini teknologi sudah semakin maju dan berkembang, para developer-developer GPU (Graphics Processing Unit) mulai meningkatkan kemampuan mereka dalam menghasilkan sebuah vga card yang bagus. Berikut ini adalah beberapa vga card dari yang pertama hingga yang sekarang ini :
S3 ViRGE    Kepanjangan dari “ViRGE adalah Virtual Reality Graphics Engine”, vga ini merupakan generasi pertama yang telah menggunakan teknologi 3D grafik. S3 ViRGE memiliki spec. 64-bit menawarkan 4 MB memory onboard, core dan memory clockspeeds up to 66 MHz, dan juga telah mendukung fitur-fitur seperti Bilinear dan Trilenear texture filtering, MIP mapping, Alpha blending, Z-buffering, dan 3D tekstur lainnya.
ATI RAGE 3D    & RAGE II    ATI RAGE II memiliki spec. 32-bit memory bus, dan memorynya hanya 2 MB. Karena kelemahan yang ada pada ATI RAGE 3D maka dibuatlah lagu seri ke-2nya yang diberi nama RAGE II yang memiliki spec. 8 MB SDRAM, 64-bit memory bus, memory clockspeeds up to 60 MHz, serta mendukung kemampuan untuk memutar DVD Playback.
NVIDIA NV3    VGA ini adalah buatan pertama dari Nvidia, vga ini juga dibuat dengan desain teknologi Microsoft’s DirectX 5 API. NVIDIA NV3 memiliki spec. 4 MB memory, 100 MHz core clockspeeds, bandwith 1.6 GB/s, 206 MHz RAMDAC dan mendukung AGP 2x.
NVIDIA NV4    VGA ini merupaka penerus dari NVIDIA NV3, namun NVIDIA NV4 tidak ada penambahan yamh signifikan dalam spec. seperti memory maksimum ditambah menjadi 16 MB dan mempunyai clockspeeds pada 110 MHz, tetapi Nvidia manambahkan beberapa kemampuan pada NVIDIA NV4 seperti teknologi “second pixel pipeline”, 32-bit true colors, dan fitur Trilinear filtering.
NVIDIA GEFORCE 256    VGA Nvidia ini memiliki kecepatan performa 2 kali lebih cepat daripada seri-seri sebelumnya, vga ini memiliki spec. DirectX 7, 4-pixel Rendering pipeline dan sebuah fitur bernama “cube environment mapping” yaitu yang gunanyauntuk menciptakan efek real time reflection.
NVIDIA GEFORCE SERIES 2     Ini merupakan vga Nvidia pertama yang menghadirkan fitur baru, yaitu pixel shader dengan sebutan “Nvidia Shading Rasterizer (NZR)”.
ATI RADEON R520    VGA ini menghadirkan spec. memory yang lebih efisien, kualitas image yang lebih baik dan performa yang optimal. Selain itu vga ini memiliki fitur seperti kemampuan High Dynamic Range (HDR) lighting.
NVIDIA GEFORCE 9 SERIES    VGA ini merupakan keluaran dari Nvidia yang paling populer dikalangan masyarakat, karena termasuk vga “High End” dan yang paling terkenal yaitu NVDIA GEFORCE 9800 GTX yang memiliki 128 stream processor, dan 256-bit memory bus.
NVIDIA GEFORCE 200 SERIES    VGA ini memiliki chipset keluaran terbaru dari Nvidia berhasil memaukkan 1.4 billion transistor ke dalam GPU. VGA ini juga merupakan seri Nvidia yang paling terkencang dan kemampuan yang powerful.




Materi tentang Algoritma. LENGKAP DENGAN CONTOH!!!


                        Materi algoritma
1
ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua
1
BAB I

PENGANTAR ALGORITMA DAN PROGRAM
1.1. Apakah Itu Algoritma
Ditinjau dari asal-usul katanya, kata Algoritma sendiri mempunyai sejarah
yang aneh. Orang hanya menemukan kata algorism yang berarti proses
menghitung dengan angka arab. Anda dikatakan algorist jika Anda
menghitung menggunakan angka arab. Para ahli bahasa berusaha
menemukan asal kata ini namun hasilnya kurang memuaskan. Akhirnya
para ahli sejarah matematika menemukan asal kata tersebut yang berasal
dari nama penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad
Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi
Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-
Muqabala yang artinya “Buku pemugaran dan pengurangan” (The book of
restoration and reduction). Dari judul buku itu kita juga memperoleh akar
kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm
muncul karena kata algorism sering dikelirukan dengan arithmetic,
sehingga akhiran –sm berubah menjadi –thm. Karena perhitungan dengan
angka Arab sudah menjadi hal yang biasa, maka lambat laun kata algorithm
berangsur-angsur dipakai sebagai metode perhitungan (komputasi) secara
umum, sehingga kehilangan makna kata aslinya. Dalam bahasa Indonesia,
kata algorithm diserap menjadi algoritma.
1.1.1. Definisi Algoritma
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah
yang disusun secara sistematis dan logis”. Kata logis merupakan kata kunci
dalam algoritma. Langkah-langkah dalam algoritma harus logis dan harus
dapat ditentukan bernilai salah atau benar.
Dalam beberapa konteks, algoritma adalah spesifikasi urutan langkah untuk
melakukan pekerjaan tertentu. Pertimbangan dalam pemilihan algoritma
adalah, pertama, algoritma haruslah benar. Artinya algoritma akan memberikan
keluaran yang dikehendaki dari sejumlah masukan yang diberikan. Tidak
peduli sebagus apapun algoritma, kalau memberikan keluaran yang salah,
pastilah algoritma tersebut bukanlah algoritma yang baik.
Bab I: Pengantar Algoritma dan Program
2
Pertimbangan kedua yang harus diperhatikan adalah kita harus mengetahui
seberapa baik hasil yang dicapai oleh algoritma tersebut. Hal ini penting
terutama pada algoritma untuk menyelesaikan masalah yang memerlukan
aproksimasi hasil (hasil yang hanya berupa pendekatan). Algoritma yang
baik harus mampu memberikan hasil yang sedekat mungkin dengan nilai
yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi algoritma dapat ditinjau dari 2
hal yaitu efisiensi waktu dan memori. Meskipun algoritma memberikan
keluaran yang benar (paling mendekati), tetapi jika kita harus menunggu
berjam-jam untuk mendapatkan keluarannya, algoritma tersebut biasanya
tidak akan dipakai, setiap orang menginginkan keluaran yang cepat. Begitu
juga dengan memori, semakin besar memori yang terpakai maka semakin
buruklah algoritma tersebut.
Dalam kenyataannya, setiap orang bisa membuat algoritma yang berbeda
untuk menyelesaikan suatu permasalahan, walaupun terjadi perbedaan
dalam menyusun algoritma, tentunya kita mengharapkan keluaran yang
sama. Jika terjadi demikian, carilah algoritma yang paling efisien dan cepat.
1.1.2. Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan metode dan
tahapan sistematis dalam program adalah algoritma. Program ditulis dengan
menggunakan bahasa pemrograman. Jadi bisa disebut bahwa program
adalah suatu implementasi dari bahasa pemrograman.
Beberapa pakar memberi formula bahwa:
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat
pada sebuah program. Algoritma yang baik tanpa pemilihan struktur data
yang tepat akan membuat program menjadi kurang baik, demikian juga
sebaliknya.
ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua
3
Pembuatan algoritma mempunyai banyak keuntungan di antaranya:
1. Pembuatan atau penulisan algoritma tidak tergantung pada bahasa
pemrograman manapun, artinya penulisan algoritma independen dari
bahasa pemrograman dan komputer yang melaksanakannya.
2. Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa
pemrograman.
3. Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama
karena algoritmanya sama.
Beberapa hal yang perlu diperhatikan dalam membuat algoritma:
1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.
Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah
dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti
notasi bahasa pemrograman. Notasi yang digunakan dalam menulis
algoritma disebut notasi algoritmik.
3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik
sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks
program. Namun, supaya notasi algoritmik mudah ditranslasikan ke
dalam notasi bahasa pemrograman tertentu, maka sebaiknya notasi
algoritmik tersebut berkorespondensi dengan notasi bahasa
pemrograman secara umum.
4. Notasi algoritmik bukan notasi bahasa pemrograman, karena itu
pseudocode dalam notasi algoritmik tidak dapat dijalankan oleh
komputer. Agar dapat dijalankan oleh komputer, pseudocode dalam
notasi algoritmik harus ditranslasikan atau diterjemahkan ke dalam
notasi bahasa pemrograman yang dipilih. Perlu diingat bahwa orang
yang menulis program sangat terikat dalam aturan tata bahasanya dan
spesifikasi mesin yang menjalannya.
5. Algoritma sebenarnya digunakan untuk membantu kita dalam
mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.
6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat
dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam
notasi bahasa pemrograman. Ada beberapa hal yang harus diperhatikan
pada translasi tersebut, yaitu:
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel dalam
penggunaan bahasa pemrograman apabila tidak semua bahasa
pemrograman membutuhkannya.
Bab I: Pengantar Algoritma dan Program
4
b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan membutuhkan
pendeklarasian variabel maka perlu hal ini dipertimbangkan pada
saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi masingmasing
memiliki kelebihan dan kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kita terikat dengan aturan sintaksis
dalam bahasa pemrograman yang akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan tampilan hasil
yang akan disajikan. Hal-hal teknis ini diperhatikan ketika
mengkonversikannya menjadi program.
f. Cara pengoperasian compiler atau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam kelompok
compiler atau interpreter.
1.1.3. Algoritma Merupakan Jantung Ilmu Informatika
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang
ilmu komputer yang mengarah ke dalam terminologi algoritma. Namun,
jangan beranggapan algoritma selalu identik dengan ilmu komputer saja.
Dalam kehidupan sehari-hari pun banyak terdapat proses yang dinyatakan
dalam suatu algoritma. Cara-cara membuat kue atau masakan yang
dinyatakan dalam suatu resep juga dapat disebut sebagai algoritma. Pada
setiap resep selalu ada urutan langkah-langkah membuat masakan. Bila
langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan yang
diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu
per satu langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai
yang ia baca. Secara umum, pihak (benda) yang mengerjakan proses disebut
pemroses (processor). Pemroses tersebut dapat berupa manusia, komputer,
robot atau alat-alat elektronik lainnya. Pemroses melakukan suatu proses
dengan melaksanakan atau “mengeksekusi” algoritma yang menjabarkan
proses tersebut.
Algoritma adalah deskripsi dari suatu pola tingkah laku yang dinyatakan
secara primitif yaitu aksi-aksi yang didefenisikan sebelumnya dan diberi
nama, dan diasumsikan sebelumnya bahwa aksi-aksi tersebut dapat kerjakan
sehingga dapat menyebabkan kejadian.
ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua
5
Melaksanakan algoritma berarti mengerjakan langkah-langkah di dalam
algoritma tersebut. Pemroses mengerjakan proses sesuai dengan algoritma
yang diberikan kepadanya. Juru masak membuat kue berdasarkan resep
yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan not
balok. Karena itu suatu algoritma harus dinyatakan dalam bentuk yang
dapat dimengerti oleh pemroses. Jadi suatu pemroses harus:
1. Mengerti setiap langkah dalam algoritma.
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
Tabel 1.1. Contoh-Contoh Algoritma dalam Kehidupan Sehari-hari
No. Proses Algoritma Contoh Langkah dalam
Algoritma
1 Membuat kue Resep kue Masukkan telur ke dalam
wajan, kocok sampai
mengembang
2 Membuat pakaian Pola pakaian Gunting kain dari pinggir
kiri bawah ke arah kanan
sejauh 5 cm
3 Merakit mobil Panduan
merakit
Sambungkan komponen
A dengan komponen B
4 Kegiatan seharihari
Jadwal harian Pukul 06.00: mandi pagi,
pukul 07.00: berangkat
kuliah
5 Mengisi voucer HP Panduan
pengisian
Tekan 888, masukkan
nomor voucer
1.1.4. Mekanisme Pelaksanaan Algoritma oleh Pemroses
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh
komputer, algoritma harus ditulis dalam notasi bahasa pemrograman
sehingga dinamakan program. Jadi program adalah perwujudan atau
implementasi teknis algoritma yang ditulis dalam bahasa pemrograman
tertentu sehingga dapat dilaksanakan oleh komputer.
Kata “algoritma” dan “program” seringkali dipertukarkan dalam
penggunaannya. Misalnya ada orang yang berkata seperti ini: “program
pengurutan data menggunakan algoritma selection sort”. Atau pertanyaan
seperti ini: “bagaimana algoritma dan program menggambarkan grafik
tersebut?”. Jika Anda sudah memahami pengertian algoritma yang sudah
Bab I: Pengantar Algoritma dan Program
6
disebutkan sebelum ini, Anda dapat membedakan arti kata algoritma dan
program. Algoritma adalah langkah-langkah penyelesaikan masalah,
sedangkan program adalah realisasi algoritma dalam bahasa pemrograman.
Program ditulis dalam salah satu bahasa pemrograman dan kegiatan
membuat program disebut pemrograman (programming). Orang yang
menulis program disebut pemrogram (programmer). Tiap-tiap langkah di
dalam program disebut pernyataan atau instruksi. Jadi, program tersusun
atas sederetan instruksi. Bila suatu instruksi dilaksanakan, maka operasioperasi
yang bersesuaian dengan instruksi tersebut dikerjakan komputer.
Secara garis besar komputer tersusun atas empat komponen utama yaitu,
piranti masukan, piranti keluaran, unit pemroses utama, dan memori. Unit
pemroses utama (Central Processing Unit – CPU) adalah “otak” komputer,
yang berfungsi mengerjakan operasi-operasi dasar seperti operasi
perbandingan, operasi perhitungan, operasi membaca, dan operasi menulis.
Memori adalah komponen yang berfungsi menyimpan atau mengingatingat.
Yang disimpan di dalam memori adalah program (berisi operasioperasi
yang akan dikerjakan oleh CPU) dan data atau informasi (sesuatu
yang diolah oleh operasi-operasi). Piranti masukan dan keluaran (I/O
devices) adalah alat yang memasukkan data atau program ke dalam memori,
dan alat yang digunakan komputer untuk mengkomunikasikan hasil-hasil
aktivitasnya. Contoh piranti masukan antara lain, papan kunci (keyboard),
pemindai (scanner), dan cakram (disk). Contoh piranti keluaran adalah,
layar peraga (monitor), pencetak (printer), dan cakram.
Piranti
masukkan
Unit Pemroses
Utama (CPU)
Piranti
Keluaran
Memori
Gambar 1.1 Komponen-Komponen Utama Komputer
Mekanisme kerja keempat komponen di atas dapat dijelaskan sebagai
berikut. Mula-mula program dimasukkan ke dalam memori komputer.
Ketika program dilaksanakan (execute), setiap instruksi yang telah
ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua
7
tersimpan di dalam memori dikirim ke CPU. CPU mengerjakan operasioperasi
yang bersesuaian dengan instruksi tersebut. Bila suatu operasi
memerlukan data, data dibaca dari piranti masukan, disimpan di dalam
memori lalu dikirim ke CPU untuk operasi yang memerlukannya tadi. Bila
proses menghasilkan keluaran atau informasi, keluaran disimpan ke dalam
memori, lalu memori menuliskan keluaran tadi ke piranti keluaran
(misalnya dengan menampilkannya di layar monitor).
1.1.5. Belajar Memprogram dan Belajar Bahasa Pemrograman
Belajar memprogram tidak sama dengan belajar bahasa pemrograman.
Belajar memprogram adalah belajar tentang metodologi pemecahan
masalah, kemudian menuangkannya dalam suatu notasi tertentu yang
mudah dibaca dan dipahami. Sedangkan belajar bahasa pemrograman
berarti belajar memakai suatu bahasa aturan-aturan tata bahasanya,
pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, dan
memanfaatkan pernyataan-pernyataan tersebut untuk membuat program
yang ditulis hanya dalam bahasa itu saja. Sampai saat ini terdapat puluhan
bahasa pemrogram, antara lain bahasa rakitan (assembly), Fortran, Cobol,
Ada, PL/I, Algol, Pascal, C, C++, Basic, Prolog, LISP, PRG, bahasabahasa
simulasi seperti CSMP, Simscript, GPSS, Dinamo. Berdasarkan
terapannya, bahasa pemrograman dapat digolongkan atas dua kelompok
besar:
1. Bahasa pemrograman bertujuan khusus. Yang termasuk kelompok
ini adalah Cobol (untuk terapan bisnis dan administrasi). Fortran
(terapan komputasi ilmiah), bahasa rakitan (terapan pemrograman
mesin), Prolog (terapan kecerdasan buatan), bahasa-bahasa
simulasi, dan sebagainya.
2. Bahasa perograman bertujuan umum, yang dapat digunakan untuk
berbagai aplikasi. Yang termasuk kelompok ini adalah bahasa
Pascal, Basic dan C. Tentu saja pembagian ini tidak kaku. Bahasabahasa
bertujuan khusus tidak berarti tidak bisa digunakan untuk
aplikasi lain. Cobol misalnya, dapat juga digunakan untuk terapan
ilmiah, hanya saja kemampuannya terbatas. Yang jelas, bahasabahasa
pemrograman yang berbeda dikembangkan untuk
bermacam-macam terapan yang berbeda pula.
Berdasarkan pada apakah notasi bahasa pemrograman lebih “dekat” ke
mesin atau ke bahasa manusia, maka bahasa pemrograman dikelompokkan
atas dua macam:
Bab I: Pengantar Algoritma dan Program
8
1. Bahasa tingkat rendah. Bahasa jenis ini dirancang agar setiap
instruksinya langsung dikerjakan oleh komputer, tanpa harus
melalui penerjemah (translator). Contohnya adalah bahasa mesin.
CPU mengambil instruksi dari memori, langsung mengerti dan
langsung mengerjakan operasinya. Bahasa tingkat rendah bersifat
primitif, sangat sederhana, orientasinya lebih dekat ke mesin, dan
sulit dipahami manusia. Sedangkan bahasa rakitan dimasukkan ke
dalam kelompok ini karena alasan notasi yang dipakai dalam bahasa
ini lebih dekat ke mesin, meskipun untuk melaksanakan
instruksinya masih perlu penerjemahan ke dalam bahasa mesin.
2. Bahasa tingkat tinggi, yang membuat pemrograman lebih mudah
dipahami, lebih “manusiawi”, dan berorientasi ke bahasa manusia
(bahasa Inggris). Hanya saja, program dalam bahasa tingkat tinggi
tidak dapat langsung dilaksanakan oleh komputer. Ia perlu
diterjemahkan terlebih dahulu oleh sebuah translator bahasa (yang
disebut kompilator atau compiler) ke dalam bahasa mesin sebelum
akhirnya dieksekusi oleh CPU. Contoh bahasa tingkat tinggi adalah
Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.
Bahasa pemrograman bisa juga dikelompokkan berdasarkan pada tujuan dan
fungsinya. Di antaranya adalah:
Gambar 1.2 Pembagian Bahasa Pemrograman
Secara sistematis berikut diberikan kiat-kiat untuk belajar memprogram dan
belajar bahasa pemrograman serta produk yang dapat dihasilkan:
a. Belajar Memprogram
• Belajar memprogram: belajar bahasa pemrograman.
ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua
9
• Belajar memprogram: belajar tentang strategi pemecahan masalah,
metodologi dan sistematika pemecahan masalah kemudian
menuliskannya dalam notasi yang disepakati bersama.
• Belajar memprogram: bersifat pemahaman persoalan, analisis dan
sintesis.
• Belajar memprogram, titik berat: designer program.
b. Belajar Bahasa Pemrograman
• Belajar bahasa pemrograman: belajar memakai suatu bahasa
pemrograman, aturan sintaks, tatacara untuk memanfaatkan pernyataan
yang spesifik untuk setiap bahasa.
• Belajar bahasa pemrograman, titik berat: coder.
c. Produk yang Dihasilkan Pemrogram
• Program dengan rancangan yang baik (metodologis, sistematis).
• Dapat dieksekusi oleh mesin.
• Berfungsi dengan benar.
• Sanggup melayani segala kemungkinan masukan.
• Disertai dokumentasi.
• Belajar memprogram, titik berat: designer program.
1.2. Menilai Sebuah Algoritma
Ketika manusia berusaha memecahkan masalah, metode atau teknik yang
digunakan untuk memecahkan masalah itu ada kemungkinan bisa banyak
(tidak hanya satu). Dan kita memilih mana yang terbaik di antara teknikteknik
itu. Hal ini sama juga dengan algoritma, yang memungkinkan suatu
permasalahan dipecahkan dengan metode dan logika yang berlainan. Yang
menjadi pertanyaan adalah bagaimana mengukur mana algoritma yang
terbaik?
Beberapa persyaratan untuk menjadi algoritma yang baik adalah:
• Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari
proses harus berakurasi tinggi dan benar.
• Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan
secepat mungkin dan frekuensi kalkulasi yang sependek mungkin.
Bab I: Pengantar Algoritma dan Program
10
• Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu
kasus saja, tapi juga untuk kasus lain yang lebih general.
• Bisa dikembangkan (expandable). Haruslah sesuatu yang dapat kita
kembangkan lebih jauh berdasarkan perubahan requirement yang ada.
• Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami
algoritma Anda. Susah dimengertinya suatu program akan membuat
susah di-maintenance (kelola).
• Portabilitas yang tinggi (portability). Bisa dengan mudah
diimplementasikan di berbagai platform komputer.
• Precise (tepat, betul, teliti). Setiap instruksi harus ditulis dengan
seksama dan tidak ada keragu-raguan, dengan demikian setiap instruksi
harus dinyatakan secara eksplisit dan tidak ada bagian yang dihilangkan
karena pemroses dianggap sudah mengerti. Setiap langkah harus jelas
dan pasti.
Contoh: Tambahkan 1 atau 2 pada x.
Instruksi di atas terdapat keraguan.
• Jumlah langkah atau instruksi berhingga dan tertentu. Artinya, untuk
kasus yang sama banyaknya, langkah harus tetap dan tertentu meskipun
datanya berbeda.
• Efektif. Tidak boleh ada instruksi yang tidak mungkin dikerjakan oleh
pemroses yang akan menjalankannya.
Contoh: Hitung akar 2 dengan presisi sempurna.
Instruksi di atas tidak efektif, agar efektif instruksi tersebut diubah.
Misal: Hitung akar 2 sampai lima digit di belakang koma.
• Harus terminate. Jalannya algoritma harus ada kriteria berhenti.
Pertanyaannya adalah apakah bila jumlah instruksinya berhingga maka
pasti terminate?
• Output yang dihasilkan tepat. Jika langkah-langkah algoritmanya logis
dan diikuti dengan seksama maka dihasilkan output yang diinginkan.
1.3. Penyajian Algoritma
Penyajian algoritma secara garis besar bisa dalam 2 bentuk penyajian yaitu
tulisan dan gambar. Algoritma yang disajikan dengan tulisan yaitu dengan
struktur bahasa tertentu (misalnya bahasa Indonesia atau bahasa Inggris)
dan pseudocode. Pseudocode adalah kode yang mirip dengan kode
pemrograman yang sebenarnya seperti Pascal, atau C, sehingga lebih tepat
digunakan untuk menggambarkan algoritma yang akan dikomunikasikan
kepada pemrogram. Sedangkan algoritma disajikan dengan gambar,
ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua
11
misalnya dengan flowchart. Secara umum, pseudocode mengekspresikan
ide-ide secara informal dalam proses penyusunan algoritma. Salah satu cara
untuk menghasilkan kode pseudo adalah dengan meregangkan aturan-aturan
bahasa formal yang dengannya versi akhir dari algoritma akan
diekspresikan. Pendekatan ini umumnya digunakan ketika bahasa
pemrograman yang akan digunakan telah diketahui sejak awal.
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan
hubungan antar proses beserta pernyataannya. Gambaran ini dinyatakan
dengan simbol. Dengan demikian setiap simbol menggambarkan proses
tertentu. Sedangkan antara proses digambarkan dengan garis penghubung.
Dengan menggunakan flowchart akan memudahkan kita untuk melakukan
pengecekan bagian-bagian yang terlupakan dalam analisis masalah. Di
samping itu flowchart juga berguna sebagai fasilitas untuk berkomunikasi
antara pemrogram yang bekerja dalam tim suatu proyek.
Ada dua macam flowchart yang menggambarkan proses dengan komputer,
yaitu:
1. Flowchart sistem yaitu bagan dengan simbol-simbol tertentu yang
menggambarkan urutan prosedur dan proses suatu file dalam suatu
media menjadi file di dalam media lain, dalam suatu sistem
pengolahan data.
Beberapa contoh Flowchart sistem:
Dokumen Pengurutan Offline
Kegiatan Manual Hard Disk
2. Flowchart program yaitu bagan dengan simbol-simbol tertentu
yang menggambarkan urutan proses dan hubungan antar proses
secara mendetail di dalam suatu program.
Kaidah-Kaidah Umum Pembuatan Flowchart Program
Dalam pembuatan flowchart Program tidak ada rumus atau patokan yang
bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran
dalam menganalisis suatu masalah dengan komputer. Sehingga flowchart
Bab I: Pengantar Algoritma dan Program
12
Input
(Bahan mentah)
Proses Output
(Bahan Jadi)
yang dihasilkan dapat bervariasi antara satu pemrogram dengan yang
lainnya.
Namun secara garis besar setiap pengolahan selalu terdiri atas 3 bagian
utama, yaitu:
􀂙 Input,
􀂙 Proses pengolahan dan
􀂙 Output
Untuk pengolahan data dengan komputer, urutan dasar pemecahan suatu
masalah:
􀂾 START, berisi pernyataan untuk persiapan peralatan yang
diperlukan sebelum menangani pemecahan persoalan.
􀂾 READ, berisi pernyataan kegiatan untuk membaca data dari suatu
peralatan input.
􀂾 PROSES, berisi kegiatan yang berkaitan dengan pemecahan
persoalan sesuai dengan data yang dibaca.
􀂾 WRITE, berisi pernyataan untuk merekam hasil kegiatan ke
peralatan output.
􀂾 END, mengakhiri kegiatan pengolahan.
Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan flowchart,
namun ada beberapa anjuran:
􀂾 Hindari pengulangan proses yang tidak perlu dan logika yang
berbelit sehingga jalannya proses menjadi singkat.
􀂾 Jalannya proses digambarkan dari atas ke bawah dan diberikan
tanda panah untuk memperjelas.
􀂾 Sebuah flowchart diawali dari satu titik START dan diakhiri dengan
END.
Berikut merupakan beberapa contoh simbol flowchart yang disepakati oleh
dunia pemrograman:
ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua
13
Decision
Process
Input/Output
data
Document
Preparation
Predefined
process
Control
transfer
Terminator
Stored data
Off-page
reference
Loop Connector Line Connector
Untuk memahami lebih dalam mengenai flowchart ini, akan diambil sebuah
kasus sederhana.
Kasus:
Buatlah sebuah rancangan program dengan menggunakan flowchart,
mencari luas persegi panjang.
Solusi:
Perumusan untuk mencari luas persegi panjang adalah:
L 􀒏= p. l
di mana, L adalah Luas persegi panjang, p adalah panjang persegi, dan l
adalah lebar persegi.
Bab I: Pengantar Algoritma dan Program
14
Keterangan 1:
1. Simbol pertama menunjukkan dimulainya sebuah program.
2. Simbol kedua menunjukkan bahwa input data dari p dan l.
3. Data dari p dan l akan diproses pada simbol ketiga dengan
menggunakan perumusan L = p. l
4. Simbol keempat menunjukkan hasil output dari proses dari simbol
ketiga.
5. Simbol kelima atau terakhir menunjukkan berakhirnya program
dengan tanda End.
1.4. Struktur Dasar Algoritma
Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkahlangkah
tersebut dapat berupa runtunan aksi (sequence), pemilihan aksi
(selection), pengulangan aksi (iteration) atau kombinasi dari ketiganya. Jadi
struktur dasar pembangunan algoritma ada tiga, yaitu:
1. Struktur Runtunan
Digunakan untuk program yang pernyataannya sequential atau urutan.
2. Struktur Pemilihan
Digunakan untuk program yang menggunakan pemilihan atau
penyeleksian kondisi.
3. Struktur Perulangan
Digunakan untuk program yang pernyataannya akan dieksekusi
berulang-ulang.
ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua
15
1.5. Tahapan dalam Pemrograman
Langkah-langkah yang dilakukan dalam menyelesaikan masalah dalam
pemrograman dengan komputer adalah:
1. Definisikan Masalah
Berikut adalah hal-hal yang harus diketahui dalam analisis masalah
supaya kita mengetahui bagaimana permasalahan tersebut:
a. Kondisi awal, yaitu input yang tersedia.
b. Kondisi akhir, yaitu output yang diinginkan.
c. Data lain yang tersedia.
d. Operator yang tersedia.
e. Syarat atau kendala yang harus dipenuhi.
Contoh kasus:
Menghitung biaya percakapan telepon di wartel. Proses yang perlu
diperhatikan adalah:
a. Input yang tersedia adalah jam mulai bicara dan jam selesai bicara.
b. Output yang diinginkan adalah biaya percakapan.
c. Data lain yang tersedia adalah besarnya pulsa yang digunakan dan
biaya per pulsa.
d. Operator yang tersedia adalah pengurangan (-), penambahan (+),
dan perkalian (*).
e. Syarat kendala yang harus dipenuhi adalah aturan jarak dan aturan
waktu.
2. Buat Algoritma dan Struktur Cara Penyelesaian
Jika masalahnya kompleks, maka dibagi ke dalam modul-modul. Tahap
penyusunan algoritma seringkali dimulai dari langkah yang global
terlebih dahulu. Langkah global ini diperhalus sampai menjadi langkah
yang lebih rinci atau detail. Cara pendekatan ini sangat bermanfaat
dalam pembuatan algoritma untuk masalah yang kompleks. Penghalusan
langkah dengan cara memecah langkah menjadi beberapa langkah.
Setiap langkah diuraikan lagi menjadi beberapa langkah yang lebih
sederhana. Penghalusan langkah ini akan terus berlanjut sampai setiap
langkah sudah cukup rinci dan tepat untuk dilaksanakan oleh pemroses.
3. Menulis Program
Algoritma yang telah dibuat, diterjemahkan dalam bahasa komputer
menjadi sebuah program. Perlu diperhatikan bahwa pemilihan algoritma
yang salah akan menyebabkan program memiliki untuk kerja yang
kurang baik. Program yang baik memiliki standar penilaian:
Bab I: Pengantar Algoritma dan Program
16
a. Standar teknik pemecahan masalah
- Teknik Top-Down
Teknik pemecahan masalah yang paling umum digunakan.
Prinsipnya adalah suatu masalah yang kompleks dibagi-bagi ke
dalam beberapa kelompok masalah yang lebih kecil. Dari
masalah yang kecil tersebut dilakukan analisis. Jika dimungkinkan
maka masalah tersebut akan dipilah lagi menjadi subbagiansubbagian
dan setelah itu mulai disusun langkah-langkah
penyelesaian yang lebih detail.
- Teknik Bottom-Up
Prinsip teknik bottom up adalah pemecahan masalah yang
kompleks dilakukan dengan menggabungkan prosedur-prosedur
yang ada menjadi satu kesatuan program sebagai penyelesaian
masalah tersebut.
b. Standar penyusunan program
- Kebenaran logika dan penulisan.
- Waktu minimum untuk penulisan program.
- Kecepatan maksimum eksekusi program.
- Ekspresi penggunaan memori.
- Kemudahan merawat dan mengembangkan program.
- User Friendly.
- Portability.
- Pemrograman modular.
4. Mencari Kesalahan
a. Kesalahan sintaks (penulisan program).
b. Kesalahan pelaksanaan: semantik, logika, dan ketelitian.
5. Uji dan Verifikasi Program
Pertama kali harus diuji apakah program dapat dijalankan. Apabila
program tidak dapat dijalankan maka perlu diperbaiki penulisan
sintaksisnya tetapi bila program dapat dijalankan, maka harus diuji
dengan menggunakan data-data yang biasa yaitu data yang diharapkan
oleh sistem. Contoh data ekstrem, misalnya, program menghendaki
masukan jumlah data tetapi user mengisikan bilangan negatif. Program
sebaiknya diuji menggunakan data yang relatif banyak.
ALGORITMA & PEMROGRAMAN: Teori dan Praktik dalam Pascal Edisi Kedua
17
6. Dokumentasi Program
Dokumentasi program ada dua macam yaitu dokumentasi internal dan
dokumentasi eksternal. Dokumentasi internal adalah dokumentasi yang
dibuat di dalam program yaitu setiap kita menuliskan baris program
sebaiknya diberi komentar atau keterangan supaya mempermudah kita
untuk mengingat logika yang terdapat di dalam instruksi tersebut, hal ini
sangat bermanfaat ketika suatu saat program tersebut akan
dikembangkan. Dokumentasi eksternal adalah dokumentasi yang
dilakukan dari luar program yaitu membuat user guide atau buku
petunjuk aturan atau cara menjalankan program tersebut.
7. Pemeliharaan Program
a. Memperbaiki kekurangan yang ditemukan kemudian.
b. Memodifikasi, karena perubahan spesifikasi.
Pemrograman Prosedural
Algoritma berisi urutan langkah-langkah penyelesaian masalah. Ini berarti
algoritma adalah proses yang prosedural. Pada program prosedural, program
dibedakan antara bagian data dengan bagian instruksi. Bagian instruksi
terdiri dari atas runtunan (sequence) instruksi yang dilaksanakan satu per
satu secara berurutan oleh sebuah pemroses. Alur pelaksanaan instruksi
dapat berubah karena adanya pencabangan kondisional. Data yang disimpan
di dalam memori dimanipulasi oleh instruksi secara beruntun. Kita katakan
bahwa tahapan pelaksanaan program mengikuti pola beruntun atau prosedural.
Paradigma pemrograman seperti ini dinamakan pemrograman prosedural.
Bahasa-bahasa tingkat tinggi seperti Cobol, Basic, Pascal, Fortran, dan
C/C++ mendukung kegiatan pemrograman prosedural, karena itu mereka
dinamakan juga bahasa prosedural. Selain paradigma pemrograman
prosedural, ada lagi paradigma yang lain yaitu pemrograman berorientasi
objek (Object Oriented Programming atau OOP). Paradigma pemrograman
ini merupakan trend baru dan sangat popular akhir-akhir ini. Pada
paradigma OOP, data dan instruksi dibungkus (encapsulation) menjadi satu.
Kesatuan ini disebut kelas (class) dan instansiasi kelas pada saat run-time
disebut objek (object). Data di dalam objek hanya dapat diakses oleh
instruksi yang ada di dalam objek itu saja.
Paradigma pemrograman yang lain adalah pemrograman fungsional,
pemrograman deklaratif, dan pemrograman konkuren. Buku ini hanya
Bab I: Pengantar Algoritma dan Program
18
menyajikan paradigma pemrograman presedural saja. Paradigma
pemrograman yang lain di luar cakupan buku ini.
Contoh Kasus dan Penyelesaian
1. Menghitung luas dan keliling lingkaran
Proses kerjanya sebagai berikut:
a. Baca jari-jari lingkaran
b. Tentukan konstanta phi = 3.14
c. Hitung luas dan keliling
L = phi*r*r
K = 2*phi*r
d. Cetak luas dan keliling
2. Menghitung rata-rata tiga buah data
a. Algoritma dengan struktur bahasa Indonesia
- Baca bilangan a, b, dan c
- Jumlahkan ketiga bilangan tersebut
- Bagi jumlah tersebut dengan 3
- Tulis hasilnya
b. Algoritma dengan pseudocode
input (a, b, c)
Jml = a+b+c
Rerata = Jml/3
Output (Rerata)
3. Algoritma konversi suhu dalam derajat Celcius ke derajat Kalvin
Penyelesaian menggunakan pseudocode:
Input (Celcius)
Kalvin = Celcius + 273
Output (Kalvin)