RANCANG BANGUN SISTEM INSTANT MESSAGING TERDISTRIBUSI

2y ago
23 Views
2 Downloads
381.99 KB
10 Pages
Last View : 1d ago
Last Download : 2m ago
Upload by : Louie Bolen
Transcription

Vol. 4, No. 3 Juni 2015ISSN 2088-2130RANCANG BANGUN SISTEM INSTANT MESSAGINGTERDISTRIBUSIH u s n iProgram Studi Teknik Informatika, Fakultas Teknik, Universitas Trunojoyo MaduraJl. Telang Raya Kamal, Bangkalan, Jawa Timurhusni@if.trunojoyo.ac.idAbstrakInstant messaging adalah salah satu jenis aplikasi online untuk komunikasi real-time yangsemakin banyak digunakan di Internet. Vendor-vendor besar terlibat dalam penyediaan layananInternet ini, seperti Microsoft, Yahoo dan Google. Fitur yang ditawarkan juga semakin lengkapsehingga komunikasi langsung antar pengguna Internet dengan berbagai medianya sudah terwujud.Namun berbagai teknologi yang dimunculkan tersebut tidak terbuka sehingga sulit bagipemrogram aplikasi atau peneliti awal mengetahui cara kerja dari sistem messaging. Kami telahmerancang dan membangun suatu prototipe sistem instant messaging (messenger) sederhanadengan server tunggal dan kemudian diperbaikinya dengan mewujudkan beberapa serverterdistribusi yang saling berkoordinasi untuk meningkatkan fault-tolerance dan availability.Implementasi dari dua pendekatan ini telah mampu menjawab bagaimana proses pembangunanaplikasi jaringan komputer yang memanfaatkan lapisan transport dan network pada modelreferensi OSI. Sentuhan langsung dengan level sistem memungkinkan kita mengetahui secaralebih jelas dan lengkap bagaimana proses komunikasi sesungguhnya yang terjadi pada suatusistem instant messaging dari pendekatan yang diterapkan.Kata kunci: instant messaging, messenger, sistem terdistribusi, pemrograman jaringanAbstractInstant messaging is one type of online applications for real-time communications that areincreasingly being used on the Internet. Major vendors involved in the provision of the Internetservices, such as Microsoft, Yahoo and Google. The features offered are also more complete sothat direct communication between Internet users with a variety of media already materialized.However, various technologies that emerged were not open so difficult for the applicationprogrammer or early researchers to know the workings of the messaging system. We havedesigned and built a prototype of simple instant messaging system (Messenger) with a singleserver and then repaired with realizing several distributed servers which coordinate with each otherto increase the fault-tolerance and availability. The implementation of these two approaches hasbeen able to answer how the process of building computer networks applications that takeadvantage of network and transport layers in the OSI reference model. Touch directly with thelevel of the system allows us to know more clearly and fully how the actual communicationprocess that occurs in an instant messaging system of the approach applied.Keywords: instant messaging, messenger, distributed system, network programming177

Jurnal Ilmiah SimanteC Vol. 4, No. 3 Juni 20151. PendahuluanInstant messaging merupakansalah satu perangkat yang sangat banyakdigunakan saat ini [1]. MenurutWikipedia [2], instant messaging adalahteknologiyangmemungkinkankomunikasi real-time berbasis teksantara dua atau lebih partisipanmemanfaatkan internet atau intranet.Server yang menyediakan layananmessaging biasa dinamakan Messenger.Beberapasistemmemungkinkanpengiriman pesan ke orang-orang yangtidak sedang login (offline message)sehingga sedikit menyamai fungsi darilayanan messaging berbentuk email.Banyak layanan tambahan dijadikanfitur dari layanan ini seperti groupchatting, conference yang melibatkansuara dan video, file transfer danpencatatan (logging) percakapan [3].Bahkanadamessengeryangmengakomodasi pemakaian web-camatau percakapan langsung dpenggunaMengirimkansuatu pesankepadapenggunatertentuMenghapuspesan tertentuLogoutdanmenghapuspengguna darisistemlengkap.Secara umum, sistem intant messagingterdiri dari satu server (messenger) danbanyak client [4]. Seorang pengguna(client) dapat mengirimkan pesan tekskepada satu atau lebih pengguna lain.Beberapa sistem menyediakan fasilitaspengelompokanpenggunamelaluichannel, misalnya berdasarkan negaraatau sekolah sehingga pesan dapatditerima oleh setiap anggota dalamchannel tersebut. Pengguna juga dapatmembentuk channel sendiri dankemudian mengundang pengguna lainuntuk bergabung.No. Nama1Login,Registrasi3Mengirimpesan7Table 1. Deskripsi fungsional ndanmendaftarkanpenggunadalam unapengguna“online” yangdapatmenerimapesanMendapatkan Mendapatkanpesandaftar esan tertentudari inbox danmenampilkannyakepadaSistem instant messaging yang lebihbarumengharuskanpenggunanyamendaftar terlebih dahulu, biasanyamemanfaatkan layanan email daripenyedia yang sama. Contohnya adalahYahoo Messenger, Google Messaging,dan Microsoft Network. Registrasitersebutmemungkinkanberbagailayanan tambahan dapat diaplikasikan,seperti offline messaging, pemberitahuanmelalui email, pengaturan profile, dannotifikasi email masuk. Fungsi utamadari aplikasi messenger dan pertukaraninformasi antara client dan serverdiperlihatkan pada tabel 1 [5].Tabel 2. Perbandingan beberapa sisteminstant messenger ekturserverterdesentralisBelumlengkapTidak

Husni, Rancang Bangun Sistem Instant Messaging ICQMSNMessengerYahoo!MessengerasiBerbasisXML opensourceMengirimkanpesan offlineMenyediakanfungsionalitas angat baikdengan webRuang chatyang menariktetap stabil. Akhirnya muncul inisiatifmemuat banyak server yang tersebar.populerMenurut Lundgren [4] pesan-pesandalam sistem IM dapat diteruskanmelalui server khusus (dedicated) atausecara langsung antar pihak-pihak yangberkomunikasi(peer-to-peer),tergantung dari arsitektur yang dipilih.Tabel 3 memperlihatkan perbandingan 6Messenger yang umum digunakan saatini.Bukanprotokolopen perasi disisi clientBukanprotokolopen sourceTerintegrasidenganWindowsTarget virusTabel 3. Perbandingan softwaremessenger popularProtokolAIM/OSCARICQIRC (DCC)JabberMSN IMYahooBukanprotokolopen sourceBanyakselingan:game, ran PesanCSTersebarCSCSCSP2PCS/P2PP2PCSCSCSCatatan: CS Centralized Server, P2P peer-to-peerDi lihat dari sisi sejarah, IM ternyataberkembang dari program talk yanghadir di sistem Unix. Gambar1memperlihatkan perkembangan aplikasiIM tersebut.Zheng [6] membandingkan 4 mannyadiperlihatkan pada tabel 2.Peningkatan jumlah pengguna instantmessaging, seiring meningkatnya jumlahpenggunaInternet,mengakibatkansistem messaging satu server tidak selaludapat diandalkan. Penyedia harus Padasistem server terdistribusi ini, penggunaakan tersambung ke server messengerterdekat dan dapat berkomunikasidengan pengguna yang tersambung padaserver lain. Jika salah satu server mati(down) maka pengguna dapat beralihatau dialihkan ke server lain [7].Gambar 1. Perkembangan InstantMessaging dimulai dari program talk diUnix [3]menyediakan beberapa server tambahanagar kinerja sistem secara keseluruhan179

Jurnal Ilmiah SimanteC Vol. 4, No. 3 Juni 2015Tulisan ini tidak mengusulkan rancanganatau implementasi terbaru di bidangmessenger. Kami telah merancang danmembuat prototipe dari sistem messengertunggal yang menghadirkan masalah saatjumlah pengguna yang perlu ditanganisemakin banyak. Pendekatan messengerserver terdistribusi kemudian dipilihsebagai solusi karena mampu meningkatkanfault-tolerence dan availability [8] darilayanan instant messaging tersebut. Fokustulisan ini adalah penjabaran cara kerja darikedua pendekatan yang diimplementasikanbeserta kelebihan dan kekurangan yangditemui ketika pengembangan sistemdilakukan. Kami berharap pengalaman inidapat menjadi acuan bagi sistemprogrammer dalam membangun aplikasikomputer yang bersentuhan dengan levelsistem terutama layer transport dan networkdari model OSI.1. Pesan dikirimkan terlebih dahulu keserver IM2. Server IM mengirimkan pesan kepengguna yang dimaksudkan.Berikut ini adalah beberapa fitur dasar yangdisediakan oleh single messenger server:1. Pengguna hanya dapat mengirimkanpesan kepada satu penerima atau semuapengguna sekaligus, tidak di antaranya(misalnya dua atau tiga penerima padasatu waktu pengiriman).2. Penerima pesan tidak harus sedanglogin tetapi harus telah menjadianggota. Pesan-pesan yang diterimaakan disimpan oleh server kemudianditeruskan langsung kepada pengguna(IP Address dan nomor Port tertentu)jika sedang tersambung ke server. Jikapenerima sedang off maka pesan hanyaakan disimpan. Pesan tersebut akandikirimkan ke penerima saat loginberikutnya sebagai offline messages.Fitur ini tidak berlaku bagi pesan yangdikirimkan ke semua pengguna karenaakan mengakibatkan terlalu banyakoffline message dan menurunkankinerja.2. Server Messenger TunggalSistem sederhana ini terdiri darisatu server instant messenger (IM) danbeberapa client. Client dapat mengirimkanpesan kepada satu atau lebih pengguna.Pesan-pesan dari pengguna akan disimpandi server sebelum diteruskan ke tujuan(gambar2).Servermengharuskanpengguna terdaftar dan login terlebihdahulu sebelum dapat mengirimkan pesan.Semua komunikasi teks antar penggunamelewati dan diatur oleh server, bertindaksebagai central of control. Secara garisbesar, proses login yang ditangani olehserver diperlihatkan pada gambar 2.STARTMendengarPermintaan Login(Username, Password, IPAddress, Port No.)Cek List Anggota(Username, Password)Ada?YaUpdate List AnggotaTersambungTidakClient TidakdibolehkanClient dibolehkanENDKirim List AnggotaOnline, OfflineMessagesGambar 3. Proses penanganan loginpengguna180

Husni, Rancang Bangun Sistem Instant Messaging 3. Beberapa pengguna berbeda dapat loginmelalui mesin yang sama, namun harusberbeda instance dari program client.Jika dua pengguna berada di satu PCmaka harus menjalankan 2 programclient.penerima pesan (Destination), Pesan itusendiri dan status pengiriman pesan(Delivered). Jika Delivered bernilai 1maka pesan dianggap telah terkirim danjika bernilai 0 maka dianggap offlinemessage dan akan diserahkan kepengguna saat login berikutnya.4. Server akan memberikan daftar semuapengguna yang sedang tersambungsetiap kali ada pengguna yang berhasillogin. Pengembangan ke depan perlumembatasi jumlah pengguna yangharus diinformasikan kepada clientsesuai dengan daftar teman yang dibuatpengguna.Tugas utama dari server messengeradalahmessagingyaitumenyampaikan pesan dari suatusumber ke tujuan. Proses ini adalah(gambar 5):STARTArsitektur dari server messenger tunggal inidiperlihatkan pada gambar 4.Terima Pesan(IP Address: ?YaProsesLoginTidak, abaikan !YaTentukan Tujuan(IP Address, Port,Connected)Gambar 4. Arsitektur dari messengerdengan satu serverConnected?Dari sisi database, sistem ini setidaknyamemerlukan 3 tabel, yaitu:TidakYaKirim ke IPAddress:Port1. Tabel User, menyimpan semua datapenggunayangtelahterdaftar.Informasi paling penting pada tabel iniadalah Username dan Password yangakan diperiksa saat pengguna login.Simpan ke Database(Delivered 1)Simpan ke Database(Delivered 0)ENDGambar 5. Proses messaging1. Server menerima pesan teks yangmasuk pada port tertentu (misalnya4999). Server tidak mengetahui siapa“Username”(Source)yangmengirimkan pesan tersebut. Informasiyang diperoleh hanya IP address dannomor Port pengirim (dimana programclient berjalan) beserta pesan yang akanditeruskan.2. Tabel Connected. Tabel ini mencatatsejarah koneksi dari pengguna.Informasi penting yang disimpanmencakup Tanggal dan Jam penggunalogin, Username, IP Address dan nomorPort yang digunakan oleh programclient,danstatustersambung(Connected). Jika Connected bernilai 1maka menyatakan bahwa Usernametersebut sedang tersambung (aktif,login) dan jika bernilai 0 maka sedangoff.2. Server memeriksa apakah pesantersebut berisi permintaan login ataumembangun koneksi. Jika Ya, makaditangani oleh proses penanganan loginyang diperlihatkan pada gambar 3. JikaTidak, berarti pesan tersebut untukditeruskan kepada pengguna lain.3. Tabel Messages. Tabel ini menyimpansemua pesan yang diterima oleh server.Field-field pentingnya adalah Tanggaldan Jam pesan diterima, Usernamepengirim pesan (Source), Username181

Jurnal Ilmiah SimanteC Vol. 4, No. 3 Juni 20153. Server memeriksa apakah penggunayang mempunyai IP Address dannomor Port tertentu tersebut sudahlogin dan terdapat di dalam tabelConnected. Jika belum terdapat didalam tabel Connected (dengan statusConnected 0) maka pesan tersebutdiabaikan. Hanya pesan dari penggunayang telah login (Connected 1) yangboleh memanfaatkan server messagingini.100 client pada satu waktu makabanyak pengguna yang tidak dapatterkoneksi. Jika server tidak membatasijumlah pengguna yang dapat loginsecara simultan maka akan menurunkankinerjadariservertermasukpenggunaan resource yang berlebihanterutama memory.3. UDP bersifat connectionless. Koneksihanya bersifat sementara yaitu saatpesandikirim.Inimemangmemboroskan bandwidth karena pesanyang dilewatkan ke jaringan menjadilebih besar ukurannya. Namun, serverdapat menerima banyak pesan pada satuwaktu. Karena tidak menyiapkan satuchannel khusus untuk setiap clientmaka server harus memeriksa IPaddress dan nomor Port setiap pesanyang masuk, juga harus mencari IPaddress dan nomor Port tujuan.4. Jika IP address dan nomor Port(pengirim) di atas terdapat di dalamtabelConnecteddenganfieldConnected bernilai 1 maka Servermemeriksa kembali pesan yangditerima tersebut. Kepada siapakahpesan tersebut ditujukan? Di sini hanyadiperolehUsernametujuan(Destination), tidak ada IP address dannomor Port-nya. Server memeriksatabel Connected untuk mengetahuistatus Connected dari tujuan, sekaligusmendapatkan IP address dan nomorPort-nya.3. Server Messenger TerdistribusiSifat terdistribusi pada sistemmessaging yang dirancang berarti terdapatlebih dari satu server yang berjalan padamesin berbeda. Penambahan server ini tidakmengubah cara kerja server tunggal dalammenangani pesan dari dan ke pengguna.Namun, karena telah berada dalamlingkungan terdistribusi maka beberapafitur harus ditambahkan ke dalam servertunggal sebelumnya sehingga beberapatujuan dari distributed system dapat dicapai[8].5. Jika diperoleh Connected 1 makaserver segera mengirimkan pesantersebut ke alamat tujuan tersebut,kemudian menyimpan pesan ke dalamtabel Messages dengan field Deliveredbernilai 1. Jika Connected dari tujuanbernilai 0 maka message langsungdisimpan di dalam tabel Messages danfield Delivered diberi nilai 0.Komunikasi antara server dan clientmenggunakan socket dari User DatagramProtocol (UDP). Pemilihan terhadap UDP,bukan TCP, didasari pada beberapapertimbangan, yaitu [9,10]:Garis besar arsitektur sistem messagingterdistribusi ini diperlihatkan pada gambar6. Komunikasi antara client dan server tetapseperti sebelumnya, yaitu melalui suatunomor port tetap, misalnya 4999.Sedangkan komunikasi atau pertukaranpesan antar server (Inter-Server) melaluinomor port yang lain, misalnya 5000. Jadisetiap server menerima pesan dari dua porttetap. Sedangkan client akan mendapatkannomor port dinamis sesuai denganmekanisme dari sistem operasi dimanaprogram client berjalan.1. Proses mengiriman pesan melalui UDPlebih cepat karena tidak melibatkanproses three ways handshake.2. Pemanfaatan TCP memang menghematbandwidth karena koneksi hanyadibangun sekali. Namun pada aplikasichat atau messaging dimana penggunatidak sibuk mengirimkan pesan makakoneksi (channel, socket) tetap terbuka.Jika server membatasi jumlah threaduntuk client, misalnya hanya menerima182

Husni, Rancang Bangun Sistem Instant Messaging DatabaseMessagingProcessordaftar server secara total. Berdasarkandaftar server yang telah ada, server barutersebut mengirimkankan informasi keserver dalam daftar bahwa terdapatserver baru yang berjalan pada IPaddress, nomor port dan key tertentu,yaitu dirinya sendiri.PORTPORTServer yang menerima informasi serverbaru tersebut tidak perlu meneruskaninformasi itu kepada server lain. Serverini cukup mengupdate informasilokalnyaagardaftarservernyamenunjukkan kondisi terkini. Jadihanya satu server yang mengirimkaninformasi update ke semua serverdalam daftar.PORTDatabaseMessagingProcessorPORTSecara berkala, misalnya per 5 menit,setiap server harus memeriksa kondisiserverlainmisalnyadenganmemanfaatkan utilitas ping atau traceroute. Jika hasil ping terhadap suatuserver memperlihatkan bahwa server”Unreachable” maka status dari serverdi dalam tabel ServerList akandijadikan 0 (jika aktif bernilai 1) dantidak akan digunakan dalam prosesupdate atau fault-tolerance.Gambar 6. Arsitektur sistem messagingterdistribusi dengan 2 serverKhusus mengenai database, karena tidakmenggunakan embeded database, makasuatu server database dapat dimanfaatkanoleh satu atau lebih server messengerterutama pada server messenger denganmesin berkinerja menengah. Struktur daritabel juga mengalami sedikit perubahanuntuk mengakomodasi koordinasi antarserver. Tabel Connected ditambahkan field“Server“ untuk mencatat di server manaseorang pengguna terkoneksi. Tidak adaperubahan terhadap tabel Messages. Tabelbaru yang diperlukan adalah ServerList.Tabel ini menyimpan daftar server yangberoperasi mencakup IP address, nomorPort, Active dan Key (kunci akses untukmengamankan server dari akses nakal).Daftar server diurutkan berdasarkankedekatan akses dari server dimana daftarini diletakkan.Beberapa tugas penting darimessaging terdistribusi ini adalah2. Update UserSetiap pengguna harus terdaftar.Pengguna dapat terdaftar di servermanapun. Mekanisme update user akansegera mengirimkan informasi tentangpengguna tersebut (Username danPassword) kepada server lain. Inidilakukan untuk menghindari terjadinyaUsername ganda pada lingkunganterdistribusi. Semua server aktif akanmenerima informasi pengguna terbarutersebut.sistem3. Update Connected.Update terhadap tabel Connectedsebaiknya segera dilakukan begitupengguna dinyatakan berhasil loginpada suatu server. Informasi dalamtabel ini sangat penting dalam prosesfault-tolerance dan load balancing.Update ini hanya dilakukan untuk barisbaris yang nilai field Connected 1.Jika field bernilai 1 berarti penggunasedang login (menggunakan sistem)1. Update Server.Setiap server memegang daftar serverbaik yang aktif maupun yang sedangdown. Daftar server harus diusahakansama pada tiap server messenger.Jika ada suatu server messenger baru,maka administrator harus menyimpandaftar server yang telah ada. Jadi, hanyaserver baru yang perlu mengupdate183

Jurnal Ilmiah SimanteC Vol. 4, No. 3 Juni 2015dan status ini harus dijaga oleh serversemaksimal mungkin sampai penggunaitu menyatakan disconnect.menangani lebih banyak penggunaaktif. Saat server menginginkan login(/connect), server memeriksa apakahquota untuk dirinya sudah terpenuhi.Jika sudah mencapai batas maka serverini cukup mengatakan kepada clientbahwa “server penuh” atau “full”.Informasi ini (full) akan digunakan olehclient untuk login berikutnya.Namun, karena proses koneksi clientmelalui UDP sedangkan komunikasiantar server melalui TCP maka cara diatas sulit diterapkan. Salah satusolusinya adalah secara berkala setiapserver mengirimkan baris-baris tabelConnectedterbaruyangfieldConnected bernilai 1, misalnya permenit.Dari DNS server, client mengetahuiserver-server lain yang dapat dihubungidan melalui ping atau trace route dapatdiperolehserverkeduayangmenguntungkan bagi client. Clientmencoba login pada server keduatersebut. Proses penolakan berdasarkanquota ini lebih mudah diaplikasi dantidakmembebaniserverdalammengatur keseimbangan beban kerjaantar server.4. Update Messages.Update terhadap tabel Messagediperlukanterutamauntukmengakomodasi fitur offline messaging.Karena itu, hanya baris-baris denganfield Delivered 0 yang dikirimkan kesemua server aktif. Dengan adanya fiturini, maka ke server

RANCANG BANGUN SISTEM INSTANT MESSAGING TERDISTRIBUSI H u s n i Program Studi Teknik Informatika, Fakultas Teknik, Universitas Trunojoyo Madura Jl. Telang Raya Kamal, Bangkalan, Jawa Timur husni@if.trunojoyo.ac.id Abstrak Instant messaging adalah salah satu jenis aplikasi online untuk komunikasi real-time yang semakin banyak digunakan di Internet.

Related Documents:

rancang bangun sistem informasi pengolahan data penduduk di desa kalimanggis kecamatan manonjaya kabupaten tasikmalaya . riswan muhammad rizki 361743013 program studi teknik informatika sekolah tinggi manajemen informatika & komputer indonesia mandiri bandung 2021 . i lembar pengesahan rancang bangun sistem informasi pengolahan data penduduk .

RANCANG BANGUN SISTEM TERDISTRIBUSI PADA APOTEK . Program Studi Teknologi Informasi I PUTU MAHENDRA PRAMADHITYA NIM : 1104505027 JURUSAN TEKNOLOGI INFORMASI FAKULTAS TEKNIK UNIVERSITAS UDAYANA 2016 . RANCANG BANGUN . serta sistem pengolahan data agar manajemen apotek dapat berjalan dengan baik.

Mengembangkan Sistem Informasi Manajemen Kepegawaian DATA KENAIKAN GAJI BERKALA Mengingat pentingnya peranan sistem pengolahan data kenaikan gaji berkala, maka sistem tersebut harus didesain dengan baik agar . RANCANG BANGUN SISTEM INFORMASI PENGELOLAAN BERBASIS APLIKASI DEKSTOP : STUDI KASUS BADAN KEPEGAWAIAN DAERAH KABUPATEN BANGKA SELATAN

sistem organ, kelainan dan penyakit. Sistem – sistem pada manusia dan hewan 1. Sistem pencernaan 2. Sistem ekskresi 3. Sistem pernapasan 4. Sistem peredaran darah 5. Sistem saraf dan indera 6. Sistem gerak 7. Sistem imun 8. Sistem reproduksi 9. Keterkaitan antar sistem organ dan homeostasis 10. Kelain

Rancang Bangun Prototype Sistem Pengaman Brankas Berbasis Rfid Dengan . Pada umumnya brankas memiliki sistem keamanan yang kurang optimal, sehingga penulis mempunyai sebuah gagasan untuk menghasilkan sebuah sistem pengamanan brankas . Modul ini menggunakan jaringan telepon seluler GSM untuk menerima data dari lokasi yang jauh. 2.3. Modul RFID

RANCANG BANGUN SISTEM INFORMASI BANK SAMPAH UNIT PENGELOLA LINGKUNGAN HIDUP Restiani 1, Cahyo Darujati 2,Immah Inayati3 1,2 Jurusan Sistem Informasi, Dekan Sistem Informasi, Fakultas Ilmu Komputer, Universitas Narotama Surabaya 1restiani41@gmail.com, 2cahyod@gmail.com, 3immah.inayati@narotama.ac.id Abstrak Bank Sampah adalah tempat pemilahan dan

RANCANG BANGUN SISTEM INFORMASI MANAJEMEN DATA SANTRI PADA TAMAN PENDIDIKAN AL QURAN MASJID AD-DU'A BERBASIS LARAVEL 1Anis Purnomo, 2Astria Hijriani, . Oleh karena itu, penulis berinisiatif untuk melakukan penelitian dan pembuatan sistem informasi manajemen data santri berbasis web pada TPQ Ad-Du'a. Semoga dengan adanya sistem informasi .

BasiC Counselling skills Let’s get down to basics. The word ‘basic’, when used in conjunction with counselling skills, implies a repertoire of central counselling skills on which you can base your helping practice. Another related meaning of the term ‘basic’ is that of being fundamental or primary rather than advanced. The quality of the helper–client relationship is essential to .